반응형

생성자 구현

생성자 개요

  • 객체를 만드는 틀인 클래스에서 필요하면 생성자를 구현
  • 객체가 생성될 때 필요한 작업을 수행하는 특별한 메소드
  • 주로 객체 필드에 초기 값을 저장하거나 객체의 사용을 위해 필요한 초기화 작업을 수행

생성자의 구성

  • 반환형을 기술하지 않으면 이름은 반드시 클래스 이름
  • 생성자의 인자는 필요하면 기술
  • 생성자는 주로 접근 지정자 public을 사용
  • 만일 필요하다면 생성자의 접근 지정자도 private 또는 protected도 사용 가능 → 보통 singleton 패턴에서 사용

 

기본 생성자 사용 예시

 

파라미터를 받는 생성자 사용 예시

 

기본 생성자와 파라미터를 받는 생성자 동시 사용 예시

 

 

기본 생성자(default constructor)

인자가 없는 생성자

클래스 Student에서 생성자가 하나도 구현되지 않았다면,

  • new Student()와 같이 인자가 없는 생성자를 호출하여 객체를 생성
  • 생성자를 전혀 구현하지 않은 클래스는 자동으로 기본 생성자를 제공

 

인자가 있는 생성자

클래스에서 인자가 있거나 적어도 하나 이상 구현되었다면,

  • 더 이상 기본 생성자는 자동으로 사용 불가능하고
  • 기본 생성자를 사용하려면 기본 생성자도 직접 구현해야 함

 

필요한 여러 생성자 구현

생성자 오버로딩(constructor overloading)

  • 하나의 클래스에서 인자가 다르면 생성자를 여러 개 구현 가능

 

생성자 오버로딩 예시

 

 

자기 자신의 다른 생성자 호출

this(···)

  • 구현된 자기 자신의 다른 생성자를 호출하는 문장
  • 생성자 구현에서 첫 줄에는 this(인자)로 다른 생성자를 호출하여 사용 가능
  • 두 번째 줄부터는 사용 불가 (두 번 이상 사용 불가)

 

반응형

+ Recent posts