본문 바로가기

java/자바

[java] 생성자

https://niceman.tistory.com/143

에서 팩토리 메소드 패턴을 조사하는데

 

아니... 생성자가 없는데 객체를 생성하는거야...

생성자가 없어도 객체가 만들어지는거야??

 

생성자: new 연산자와 같이 사용되어 클래스로부터 객체를 생성할 때 호출되어 객체의 초기화를 담당한다.

 

생성자를 실행시키지 않고는 클래스로부터 객체를 만들 수 없다.

 

new 연산자에 의해 생성자가 성공적으로 실행되면 heap 영역에서 객체가 생성되고 객체의 주소가 리턴된다.

리턴된 객체의 주소는 클래스 타입 변수에 저장되어 객체에 접근할 때 이용된다.

생성자가 성공적으로 실행되지 않고 에러가 발생하면 객체는 생성되지 않는다.

 

 

기본 생성자

모든 클래스는 생성자가 반드시 존재하며, 하나 이상을 가질 수 있다.

클래스 내부에서 생성자 선언을 생략했다면 

컴파일러가 비어있는 기본 생성자를 바이트 코드에 자동 추가한다.

[public] 클래스() { } // 기본 생성자

클래스가 public이면 생성자도 public

클래스가 private이면 생성자도 private

 

 

소스 파일 Car.java 바이트 코드 파일 Car.class
public class Car {

}
public class Car {
  public Car() { } // 기본생성자 자동 추가
}

 

'java > 자바' 카테고리의 다른 글

[java] 싱글톤  (0) 2022.01.01
[java] interface  (0) 2021.12.30
[java] final  (0) 2021.12.29
[java] 상속  (0) 2021.12.29
[java] super, this  (0) 2021.12.27