생성자

Juju·2022년 9월 29일
0

인스턴스 초기화 메서드이다.

클래스 => 인스턴스화 => 객체

  1. 생성자의 이름은 클래스의 이름과 같아야한다.
  2. 생성자는 리턴 값이 없다.

연산자 new!! 가 인스턴스를 생성하는 것이다.

생성자가 인스턴스를 생성하는 것이 아니다.

단순히 인스턴스변수들의 초기화에 사용되는 살작쿵 특별한 메서드이다.

Card c = new Card();

  1. 연산자 new에 의해 메모리(heap)에 Card 클래스의 인스턴스가 생성된다.
  2. 생성자 Card()가 호출되어 수행된다.
  3. 연산자 new의 결과로, 생성된 Card인스턴스의 주소가 반환되어 참조변수 c에 저장된다.

인스턴스를 생성하기 위해 사용해 왔던 '클래스이름()'이 바로 생성자 였던것이다..
인스턴스를 생성할 때는 반드시 클래스 내에 정의된 생성자 중의 하나를 선택하여 지정해주어야한다.

기본생성자 default constructor

모드 클래스에는 반드시 하나 이상의 생성자가 정의 되어 있어야한다.
컴파일할때 생성자가 하나도 정의 되지 않은 경우는 컴파일러는 자동적으로 아래와 같은 내용의 기본 생성자를 추가하여 컴파일한다.

클래스이름() {...}
Card() { ... }

컴파일러가 자동적으로 추가해주는 기본 생성자는 이와같이 매개변수도 없고 아무런 내용도 없는 간단한 것이다.

[참고]
클래스의 접근제어자가 public일 경우는 기본생성자로 public 클래스이름() {...} 이 추가된다.

profile
짤막한 기록들..

0개의 댓글