[점프투자바] 05 객체지향 프로그래밍 05-5 생성자

[점프투자바] 05 객체지향 프로그래밍 05-5 생성자

https://wikidocs.net/281

생성자 (Constructor)

메소드명이 클래스명과 동일하고 리턴 자료형이 없는 메소드를 생성자(Constructor)라고 말한다.

생성자 규칙

클래스와 메소드명이 동일하다.

리턴타입을 정의하지 않는다.

기본구조

public 클래스(매개변수) { ... }

https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId;=heartflow89&logNo;=220955879645

생성자는 new 연산자를 통해서 인스턴스를 생성할 때 반드시 호출이 되고 제일 먼저 실행되는 일종의 메소드(하지만 메소드와는 다르다.)이다. 생성자는 인스턴스 변수(필드 값 등)를 초기화 시키는 역할을 한다.

HouseDog dog = new HouseDog(); // 인스턴스 생성 및 생성자 호출

원래는 클래스를 정의할 때 생성자를 생략하면 컴파일러가 자동으로 기본 생성자(default construcor)를 생성하여 주기 때문에 따로 생성자를 정의하지 않아도 인스턴스 생성 및 생성자 호출이 가능했다.

생성자를 직접 정의하면 컴파일러는 기본 생성자를 만들지 않는다.

직접 생성자를 정의하는 이유는 객체를 생성할 때 값을 무조건 설정해야만 객체가 생성되도록 하여 필수적인 행동을 제어하기 위함이다.

생성자 역시 오버로딩이 가능하다.

from http://annajin.tistory.com/32 by ccl(A) rewrite - 2021-10-22 15:01:46