본문 바로가기
Language/Java 문법

점프 투 자바 2. 클래스 생성자

by 박서현 2022. 11. 4.

생성자 (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