생성자

생성자는 메서드와 비슷하지만 다음과 같은 차이가 있음.

  • 생성자의 이름은 클래스 이름과 같아야 한다. 따라서 첫 글자도 대문자로 시작함

  • 생성자는 반환타입이 없음. 비워두어야 한다.

생성자가 생긴 이유? 객체를 생성하자마자 즉시 필요한 기능을 편리하게 수행할 수 있도록 생성자라는 기능을 제공한다.

장점

  • 중복 호출 제거 객체를 생성하면서 동시에 생성 직후에 필요한 작업을 한번에 처리

  • 제약 - 생성자 호출 필수 객체를 생성할 때 직접 정의한 생성자가 있다면 직접 정의한 생성자를 반드시 호출해야함(실수로 객체를 초기화하지 않는 것을 방지)

    • 생성자를 메서드 오버로딩 처럼 여러개 정의할 수 있다.

  • 생성자를 사용하면 필수값 입력을 보장할 수 있다.

기본 생성자

  • 매개변수가 없는 생성자를 기본 생성자라 한다.

  • 클래스에 생성자가 하나도 없으면 자바 컴파일러는 매개변수가 없고 , 작동하는 코드가 없는 기본 생성자를 자동으로 만들어준다.

  • 생성자가 하나라도 있으면 자바는 기본 생성자를 만들지 않는다.

클래스를 만들었을 때 아무 생성자도 작성하지 않는다면 왜 기본 생성자를 자동으로 만들어 줄까? 자바가 자동으로 기본 생성자를 만들어주지 않으면, 생성자 기능이 필요하지 않은 경우에도 개발자가 직접 기본 생성자를 정의해야함. <- 생성자는 반드시 호출되어야 한다

Last updated