Backend/Java

java - 생성자에 매개변수가 있어야 할 때 vs 없어도 될 때

chillmyh 2023. 12. 14. 16:27

생성자가 매개변수를 필요로 하는지 여부는 주로 객체를 초기화하는 데 필요한 데이터를 생성자가 받아야 하는지에 따라 결정됩니다. 

매개변수가 필요한 경우와 필요하지 않은 경우 각각의 차이를 살펴보겠습니다.

1. 매개변수가 필요한 경우:
   - 객체가 생성될 때 필요한 초기 데이터나 정보가 있는 경우 생성자에 매개변수를 전달합니다.
   - 객체를 생성할 때마다 서로 다른 값을 가진 객체를 생성할 수 있습니다.
   - 예를 들어, 'Person' 객체를 생성할 때 이름과 나이와 같은 정보를 초기화해야 하는 경우 생성자에 해당 데이터를 매개변수로 전달합니다.

예시:

public class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // Getter 및 다른 메서드들...
}

 



2. 매개변수가 필요하지 않은 경우:
   - 객체를 초기화하는 데 별다른 외부 데이터가 필요하지 않은 경우에는 매개변수 없이도 객체를 초기화할 수 있습니다.
   - 모든 객체가 동일한 초기 상태를 갖게 됩니다.
   - 예를 들어, 'default' 값을 사용하여 객체를 초기화하는 경우 생성자에 매개변수를 사용하지 않습니다.

예시:

public class Person {
    private String name;
    private int age;

    // 매개변수 없이 객체 초기화
    public Person() {
        this.name = "Unknown";
        this.age = 0;
    }

    // Getter 및 다른 메서드들...
}



따라서, 생성자에 매개변수가 필요한 경우 객체를 초기화할 때 외부에서 필요한 데이터를 전달할 수 있으며, 필요하지 않은 경우에는 기본값이나 고정값 등을 사용하여 객체를 초기화할 수 있습니다.