Java - 생성자

HY SONG·2023년 2월 26일
0

Java

목록 보기
4/15

생성자란?

  • 객체를 생성할 때 호출되는 특별한 메서드이다
  • 클래스와 동일한 이름을 가지고 있으며, 반환 타입이 없다
  • 클래스 내부의 필드를 초기화하고 객체를 사용할 수 있도록 준비한다

생성자를 호출하는 방법

객체를 생성할 때 new 키워드와 함께 생성자를 호출할 수 있다

Person person = new Person("Jake", 25);

생성자의 종류

생성자는 기본 생성자와 매개변수가 있는 생성자로 나눌 수 있다.

기본 생성자(Default Constructor)

기본 생성자란?

매개변수가 없는 생성자

기본 생성자의 특징

  • 모든 클래스는 기본 생성자를 가지고 있다
  • 클래스를 정의할 때 별도의 생성자를 작성하지 않으면 자동으로 생성된다
  • 클래스의 이름과 동일하며, 아무런 매개변수도 없다
public class Sample {
    // 기본 생성자
    public Sample() {
        // 생성자 본문
    }
}

필드를 초기화하는 등의 작업이 필요한 경우에는 명시적으로 생성자를 작성해야 한다.

생성자 호출

Sample sample = new Sample();

매개변수가 있는 생성자(Parameterized Constructor)

매개변수 생성자란?

생성자가 호출될 때 매개변수를 전달받아 객체의 필드를 초기화하는 생성자

매개변수가 있는 생성자 특징

  • 객체를 생성할 때 필드를 초기화하는 값을 전달받아 초기화
  • 객체를 생성할 때 초기화할 값을 미리 전달할 수 있으므로 객체 생성 후에 별도의 초기화 작업을 하지 않아도 된다
public class Sample {
    private int num;
    private String str;

    // 매개변수가 있는 생성자
    public Sample(int num, String str) {
        this.num = num;
        this.str = str;
    }
}

생성자 호출

Sample sample = new Sample(5, "Hello");

this와 this()키워드

this

인스턴스 변수와 지역 변수의 이름이 같을 때 인스턴스 변수를 참조하기 위해 사용되는 키워드

public class Sample {
    private int num;

    public void setNum(int num) {
        this.num = num;
    }
}

this()

같은 클래스 내의 다른 생성자를 호출할 때 사용

public class Sample {
    private int num;
    private String str;

    public Sample(int num, String str) {
        this.num = num;
        this.str = str;
    }

    public Sample() {
        this(0, "");  // 다른 생성자 호출
    }
}

0개의 댓글