Day 12: Java에서 생성자 이해하기

발행: (2026년 1월 9일 오전 12:35 GMT+9)
4 분 소요
원문: Dev.to

Source: Dev.to

생성자란?

생성자는 객체가 생성될 때 자동으로 호출되는 Java의 특수한 메서드입니다.

  • 생성자 이름은 클래스 이름과 동일해야 합니다.
  • 반환 타입이 없습니다.
  • 객체가 생성될 때 자동으로 호출됩니다.
  • 인스턴스 변수를 초기화하는 데 사용됩니다.

왜 생성자가 필요할까요?

생성자는 다음을 도와줍니다:

  • 객체의 값을 초기화합니다.
  • 별도의 setter 메서드를 줄여줍니다.
  • 객체가 유효한 상태에서 생성되도록 보장합니다.
  • 코드 가독성과 구조를 향상시킵니다.
class Student {
    Student() {
        System.out.println("Constructor called");
    }
}

Student 객체가 생성될 때, 생성자가 자동으로 실행됩니다.

생성자의 종류

Java에는 주로 두 가지 종류의 생성자가 있습니다:

기본 생성자

기본 생성자는 매개변수가 없는 생성자입니다.

class Employee {
    Employee() {
        System.out.println("Hi");
    }

    public static void main(String[] args) {
        Employee emp = new Employee();
    }
}

emp 객체가 생성될 때 기본 생성자가 호출되어 Hi를 출력합니다.

매개변수화된 생성자

매개변수화된 생성자는 객체 변수를 초기화하기 위해 매개변수를 받습니다.

class Employee {
    int empId;
    String empName;
    int empAge;

    Employee(int empId, int empAge, String empName) {
        this.empId = empId;
        this.empAge = empAge;
        this.empName = empName;
    }

    public static void main(String[] args) {
        Employee kumar = new Employee(101, 20, "Kumar");
        System.out.println(kumar.empId);
    }
}

이 예제에서:

  • Employee 클래스는 세 개의 인스턴스 변수 empId, empName, empAge를 선언합니다.
  • 매개변수화된 생성자 Employee는 세 개의 인자를 받아 this 키워드를 사용해 인스턴스 변수에 할당합니다.
  • main 메서드에서 지정된 값으로 kumar 객체를 생성합니다. System.out.println(kumar.empId);101을 출력합니다.

매개변수화된 생성자를 사용하면 객체 생성 시 인자를 통해 값을 초기화할 수 있습니다.

생성자에서의 this 키워드

this란?

this는 현재 객체를 가리키는 참조 변수입니다.

생성자에서 this 사용하기

생성자 매개변수와 인스턴스 변수가 같은 이름을 가질 때, Java는 매개변수에 우선순위를 둡니다. 이때 this 키워드를 사용해 인스턴스 변수와 매개변수를 구분합니다:

this.empId = empId;
  • this.empId → 현재 객체의 인스턴스 변수
  • empId → 생성자 매개변수

이를 통해 전달된 값이 객체에 올바르게 저장됩니다.

Back to Blog

관련 글

더 보기 »

Java 변수

Java에서 변수란 무엇인가? 변수는 데이터 값을 저장하는 데 사용되는 컨테이너입니다. Java에서 변수의 유형 로컬 변수 예시: java class Test { void dis...

Unity에서 절차적 지형 모험 pt.1

Noise는 다소 무작위처럼 보이지만 부드럽고 연속적인 값들의 패턴입니다. 지형을 생성할 때, 우리는 높이를 결정할 방법이 필요합니다.