생성자
객체를 생성할 때 호출하는 메서드
리턴 타입이 없음
기본 생성자
생성자 코드가 없으면 컴파일러가 기본 생성자 제공
public ClassName(){}
생성자 작성
일반 멤버 변수의 초기화를 위해 파라미터가 있는 생성자를 작성할 수 있다.
단, 생성자를 작성하면 기본 생성자는 제공되지 않는다.
...클래스 내용
SampleClass(int a){
this.a = a;
}
}
//클래스 생성
SampleClass(1)
SampleClass() // error
this 키워드
참조변수로써 객체 자신을 가리킴
로컬 변수와 멤버 변수의 이름이 같을 때, 객체의 변수임을 명시적으로 나타냄
class SampleClass{
String name;
SampleClass(String name){
//name = name //앞의 name이 SampleClass의 name을 뜻하지 않음
this.name = name;
}
}
this는 객체에 대한 참조이므로, static 영역에서 this 사용 불가
this()
메서드와 마찬가지로 생성자도 오버로딩 가능
한 생성자에서 다른 생성자를 호출할 때 사용
생성자의 첫 줄에서만 호출 가능
SampleClass(int num){
this.num = num;
}
SampleClass(String name){
this(num) // SampleClass(num)는 불가
this.name = name;
}
'JAVA' 카테고리의 다른 글
[Java] Package (0) | 2024.01.17 |
---|---|
[Java] Inheritance : 상속 (0) | 2024.01.17 |
[Java] Abstraction (0) | 2024.01.16 |
[Java] 객체지향 (0) | 2024.01.15 |
[Java] 자바 기초와 실수하기 쉬운 부분 (0) | 2024.01.15 |