생성자 (Constructor)
생성자는 new 키워드를 사용해 객체를 생성할 때 호출하는 메서드다. 클래스명과 동일한 이름으로 메서드를 작성해 구현할 수 있다. 객체를 생성할 때마다 멤버 변수를 변경해야 하는 경우 생성자를 사용한다.
public class Sample {
int a;
void Sample() { // 생성자
this.a++;
}
public static void main(String[] args) {
Sample sample = new Sample();
sample.a = 1;
sample.varTest();
System.out.println(sample.a); // 2 출력
}
}
디폴트 생성자
디폴트 생성자는 아무 내용이 없는 생성자다. 생성자를 작성하지 않는 경우에는 컴파일러가 자동으로 디폴트 생성자를 추가한다.
class Dog extends Animal {
Dog() { // 디폴트 생성자
}
void sleep() {
System.out.println(this.name + " zzz");
}
}
생성자 오버로딩
생성자 오버로딩이란 입력 인자의 타입이나 구성이 다른 생성자를 여러 개 쓰는 것을 말한다. 즉, 두 가지 이상의 방법으로 객체를 생성할 수 있다.
class HouseDog extends Dog {
HouseDog(String name) { // 생성자 1
this.setName(name);
}
HouseDog(int type) { // 생성자 2
if (type == 1) {
this.setName("yorkshire");
} else if (type == 2) {
this.setName("bulldog");
}
}
}
'Language > Java 문법' 카테고리의 다른 글
점프 투 자바 3. 인터페이스 interface (0) | 2022.11.04 |
---|---|
점프 투 자바 1. 자바의 특징 (0) | 2022.11.04 |