JAVA
생성자_this()
고민말고생각하는사람
2024. 1. 15. 23:52
this()?
이전 내용을 학습하면서 this.멤버변수 등을 통해 this 가 해당 클래스의 인스턴스를 지칭하는 것을 알았다.
this 키워드를 통해 코드가 작성된 클래스 객체에 접근하고 변수 초기화, 메서드 등을 실행 시켰었는데...
this() 는 뭘까??
this()는 해당 클래스의 생성자를 호출하는 메서드 이다.
?? 말만 들으면 잘 모르겠다.
예시를 통해 알아보자.
public class WhatIsThisMethod(){
String title;
String content;
String description;
WhatIsThisMethod(); // 기본 생성자
// 생성자 오버로딩
WhatIsThisMethod(String title, String content, String description){
this.title = title;
this.content = content;
this.description = description;
}
WhatIsThisMethod(String, title, String content){
this(title, content, "캐릭터 사업");
}
}
2번째로 오버로딩한 생성자 메서드에서 this() 를 통해 첫 번째 오버로딩 생성자를 사용할 수 있게 됐다.
생성자(매개변수...매개변수){
this(생성자-매개변수, 매개변수...매개변수)}
형태가 되므로, 매개변수를 어떻게 늘리든 기존 코드를 재사용할 수 있다.
WhatIsThisMethod exam1 = new WhatIsThisMethod("조종", "링귀니 조종하기", "캐릭터 사업");
WhatIsThisMethod exam2 = new WhatIsThisMethod("수확", "모코코 캐기");
규칙
1. 생성자 안에서만 사용 가능하다.
2. 생성자 코드 블럭의 첫 번째 행에서만 작성 가능하다.