자바(Java) 생성자(constructor)

유필선·2024년 3월 6일
0

자바(Java)

목록 보기
7/20

생성자 란?

  1. 생성자는 객체가 생성될 때 자동으로 호출되는 특수 목적의 맴버함수(메소드)로 객체의 초기화를 위해 사용
  2. new 연산자를 통해서 인스턴스를 생성할 때 반드시 호출이 되고 제일 먼저 실행되는 일종의 메소드(일반적인 메소드와는 다름)이다. 생성자는 인스턴스 변수(필드 값 등)를 초기화 시키는 역할을 한다.

생성자 특징

생성자의 특징은 아래와 같다.

  • 생성자의 이름은 클래스 이름과 동일해야 한다.
  • 생성자는 다른 메소드와는 다르게 리턴 타입이 없다.
  • 생성자는 객체가 생성될 때 자동으로 호출된다.
  • 생성자 앞에는 접근 제어자(public 등)만 올수 있다.
  • 생성자는 매개변수 조건에 따라 여러개를 작성할 수 있다. (오버로딩)
  • 생성자는 클래스에 최소 1개는 있어야 하며, 생성자 코드가 없을 경우 컴파일러가 기본생성자를 자동 생성(Null)한다.
    (주의할점은, 생성자 코드가 1개라도 작성되어 있다면, 컴파일러는 기본생성자가 없다고 하더라도 기본생성자를 자동으로 생성하지 않습니다.)
  • 마지막 특징의 대해 예제를 보면 알아보기 쉽다.
  • 위에 이미지는 기본생성자가 없기 때문에 발생하는 에러이다.
    why? 클래스 정의시 아무런 정의가 없으면 컴파일러가 기본생성자를 자동생성해 주지만,생성자 정의가 1개라도 되어 있다면 컴파일러는 기본생성자를 자동 생성해 주지 않는다.

  • 위 이미지와 같이 기본 생성자와 매개변수를 가진 생성자를 같이 사용하면 인수를 가지지 않은 객체에는 기본생성자가 들어가 에러를 발생하지 않고 정상적인 출력을 하는 것을 볼 수 있다.
profile
이해해버려라!

0개의 댓글