[4단원]생성자

생성자

  • 자바에서 객체를 생성시 new 키워드를 사용함
  • 클래스명 뒤에 나오는 괄호 () 는 메서드를 의미
  • 이를 생성자 라고 부른다.
    • 해당 생성자는 클래스가 인스턴스화될 때 초기 설정을 도와준다.

기본 생성자

  • 자바에서 클래스에 아무런 생성자를 정의하지 않는다면

    기본 생성자를 자동으로 제공한다.

  • 실제 작성한 코드
    public class 동물 {
    }
  • 자바 컴파일단계에서 기본 생성자 주입
    public class 동물 {
        public 동물() {}
    }

인자가 있는 생성자

  • 필요에 따라 인자를 받는 생성자도 추가 가능합니다.
    public class 동물 {
        public 동물(String name) {
            System.out.println(name);
        }
    }
  • 동물 뽀로로 = new 동물("뽀로로"); 로 호출가능

주의

  • 인자가 있는 생성자가 하나라도 정의되어있다면, 자바 컴파일러는 더 이상 기본 생성자를 자동으로 만들어주지 않는다.
    동물 무명 = new 동물();  // 에러!

    수행시 인자가 없는 생성자가 없기에 당연히 컴파일 단계에서 에러가 발생한다.

    • 이러한 경우에는 기본 생성자를 명시적으로 추가해주어야 한다.

생성자라고 줄여서 부르지만, 정확하게는 객체 생성자 메서드 이다.

메서드! 메서드!


Uploaded by N2T