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 |