개념
this() 키워드를 사용해서 다른 생성자를 호출할 때는 반드시 해당 생성자의 첫 줄에 작성되어야 합니다.
Why?
- 인스턴스 초기화의 순서 유지: 객체 지향 프로그래밍에서 객체를 생성할 때, 해당 클래스의 생성자는 객체의 초기화를 담당한다. 만약 하나의 생성자에서 다른 생성자를 호출할 수 있다면, 호출된 생성자가 먼저 실행되어 필드 초기화나 다른 초기화 작업이 누락될 수 있다. 따라서 호출된 생성자는 반드시 처음에 실행되어야, 초기화 순서가 유지됨.
- 재사용성과 유지보수성: 코드의 재사용성을 높이기 위해 여러 생성자에서 코드 중복을 피하고자 할 때, 다른 생성자를 호출하는 방법을 사용한다. 이 경우, 호출된 생성자가 첫 줄에 위치하여야 다른 생성자와의 관계가 명확하고 코드가 예측 가능하게 유지된다. 또한, 코드를 수정할 때 한 생성자만 수정하면 되므로 유지보수성이 향상됨.
- Java 언어의 규칙: Java 언어에서는 생성자 호출이 객체 초기화의 중요한 부분이기 때문에 이 규칙을 강제하고 있다. 이 규칙을 따르지 않으면 컴파일 오류가 발생하게 되어 코드가 안정적이고 예측 가능하게 유지된다.
'CS > JAVA' 카테고리의 다른 글
Java Virtua Machine (0) | 2023.08.23 |
---|---|
JVM Specification (0) | 2023.08.23 |