JAVA/포스팅

자바 this() 키워드를 사용하여 다른 생성자 호출

짜집퍼박사(짜박) 2023. 11. 8. 16:33

자바에서 this() 키워드를 사용하여 다른 생성자를 호출하는 것을 "생성자 체이닝(Constructor Chaining)"이라고 합니다. 생성자 체이닝을 사용하면 같은 클래스 내에서 다른 생성자를 호출하여 코드의 재사용과 유지 보수를 용이하게 할 수 있습니다. 다른 생성자를 호출할 때 this() 키워드를 사용하며, 이것은 해당 클래스 내에서 또 다른 생성자를 호출하는 역할을 합니다.

생성자 체이닝을 사용할 때 몇 가지 주의할 점이 있습니다.

- this()는 반드시 생성자 내에서 첫 번째 문장으로 사용되어야 합니다.
- this() 키워드로 호출하는 생성자는 같은 클래스 내의 다른 생성자여야 합니다.
- this()를 사용하여 다른 생성자를 호출하면, 중복 코드를 피할 수 있습니다.

다음은 this() 키워드를 사용하여 다른 생성자를 호출하는 예제 코드입니다.

public class MyClass {
    private int value;
    private String name;

    // 첫 번째 생성자
    public MyClass() {
        this(0, "DefaultName"); // 다른 생성자 호출
    }

    // 두 번째 생성자
    public MyClass(int value, String name) {
        this.value = value;
        this.name = name;
    }

    public int getValue() {
        return value;
    }

    public String getName() {
        return name;
    }
}

위의 코드에서 첫 번째 생성자는 this() 키워드를 사용하여 두 번째 생성자를 호출하고 있습니다. 이렇게 하면 기본 생성자에서 초기화 코드를 중복으로 작성하지 않고, 두 번째 생성자에서 실제 초기화를 수행합니다.

생성자 체이닝은 코드의 재사용성을 향상시키고 오류를 줄일 수 있는 유용한 패턴 중 하나입니다.

 

With ChatGPT