생성자

sungs·2025년 5월 16일

자바

목록 보기
4/95

✅ 생성자란?

생성자는 클래스로부터 객체를 생성할 때 호출되는 특별한 메서드.
클래스 이름과 동일한 이름을 가지며, 리턴 타입이 없다.

public class Person {
    String name;
    int age;

    // 생성자
    public Person(String n, int a) {
        name = n;
        age = a;
    }
}

위 코드에서 Person 클래스의 생성자는 객체가 생성될 때 자동으로 호출되어 name과 age 값을 초기화해 준다.

🧱 기본 생성자 (Default Constructor)

생성자를 하나도 정의하지 않으면, 자바는 자동으로 기본 생성자를 만들어 준다.

public class Dog {
   String breed;

   // 기본 생성자: Dog() {} 가 자동으로 추가됨
}

하지만 생성자를 하나라도 직접 만들면, 기본 생성자는 자동으로 만들어지지 않으니 주의.

🧩 생성자 오버로딩 (Constructor Overloading)

생성자도 오버로딩 가능하다.

public class Car {
    String model;
    int year;

    // 생성자 1
    public Car(String m) {
        model = m;
        year = 2020;
    }

    // 생성자 2
    public Car(String m, int y) {
        model = m;
        year = y;
    }
}

🔁 this()로 생성자 간 호출

this()를 사용하면 같은 클래스 내의 다른 생성자를 호출할 수 있다.
중복 코드를 줄이는 데 유용하다.

public class Book {
    String title;
    int price;

    public Book(String title) {
        this(title, 0);  // 아래 생성자 호출
    }

    public Book(String title, int price) {
        this.title = title;
        this.price = price;
    }
}

✨ 생성자가 필요한 이유

  • 객체 초기화: 필드를 생성과 동시에 초기화할 수 있다.

  • 코드 가독성 향상: 객체를 생성하는 시점에서 필요한 값을 명확하게 전달한다.

  • 객체의 불완전한 상태 방지: 필수 값을 반드시 받도록 강제할 수 있다.

profile
앱 개발 공부 중

0개의 댓글