언어(Language)/Java

[Java] 생성자

송기동 2024. 2. 21. 18:56
728x90

생성자(Constructor)

- 객체가 생성될 때 호출되는 특별한 메서드

- 객체의 초기화를 담당, 객체가 메모리에 할당될 때 자동으로 호출

- 주로 클래스 내부에 정의

- 클래스와 동일한 이름을 가짐

- 리턴 타입이 없음

- 인스턴스화 시 호출됨 ('new' 키워드)

- 오버로딩 가능

 

# 생성자의 목적

- 주된 목적은 객체의 초기화

- 초기화 작업은 주로 멤버 변수의 값 설정, 리소스 할당, 객체 간의 관계 설정 등을 포함

 

# 객체의 생성과 생성자 호출

- 객체를 생성할 때 'new' 키워드를 사용

- 생성자는 객체가 생성될 때 자동으로 호출되어 초기화 작업을 수행

 

# 기본 생성자 (Default Constructor)

- 클래스에 명시적으로 생성자를 작성하지 않으면 컴파일러가 자동으로 기본 생성자를 생성

- 매개변수를 가지지 않고 클래스의 멤버 변수들을 초기화하는 역할

 

# 생성자의 오버로딩

- 하나의 클래스에 여러개의 생성자를 정의하여 다양한 초기화 방법을 제공하는 것

- 오버로딩된 생성자들은 서로 다른 매개변수 목록을 가져야 함

 

# 생성자와 메서드 차이

- 생성자 : 반환 타입 없음, 객체가 생성될 때 한번만 호출

- 메서드 : 반환 타입 있음, 필요에 따라 여러번 호출 가능

 

# 멤버 변수의 값을 초기화 하지 않은 경우

- 자동으로 컴파일러가 기본값으로 초기화 해줌

자료형 int double boolean 참조 자료형
기본값 0 0.0 false null

public class ClassName {
    // 멤버 변수 선언

    // 기본 생성자
    public ClassName() {
        // 초기화 코드
    }

    // 매개변수를 받는 생성자
    public ClassName(ParameterType1 parameter1, ParameterType2 parameter2, ...) {
        // 초기화 코드
    }
}

 

[Java] 생성자 사용 예시

생성자 만들어보기 package ch04; public class Bus { // 속성(상태) int busNumber; int count; int money; double weight; // 생성자 만들어 보기 // 생성자는 리턴 타입이 없다. 메서드와 구분하세요! // 반드시 클래스 이

thdrlehd.tistory.com

 

728x90