[JAVA] 생성자

Coastby·2022년 8월 2일
0

JAVA

목록 보기
12/33

클래스와 같은 이름의 메소드를 생성자라고 한다.

생성자는 객체 (인스턴스)를 생성할 때 실행이 된다. 가장 먼저 실행되어 초기화 작업을 해준다.

생성자가 없으면 자바에서 자동으로 디폴트 생성자를 만들어 준다.
사실은 Calculator c1 = new Calculator(); 여기서 우항의 Calculator()는 클래스 이름이 아니라 생성자를 뜻한다.

class Calculator {
    int left, right;
 
    public Calculator(int left, int right) {
        this.left = left;
        this.right = right;
    }
 
    public void sum() {
        System.out.println(this.left + this.right);
    }
.
.
.
public class CalculatorDemo1 {
 
    public static void main(String[] args) {
 
        Calculator c1 = new Calculator(10, 20);
        c1.sum();
        c1.avg();

생성자 덕분에 Calculator 객체를 사용하기 위해 사실상 반드시 필요한 작업이라고 할 수 있는 좌항과 우항의 값을 설정하는 과정을 객체 생성 과정에서 강제할 수 있게 된다. 절차에 필수적인 작업을 포함시킨다는 것은 중요한 의미를 갖게 된다.

생성자의 특징

  • 값을 반환하지 않는다.
    생성자는 인스턴스를 생성해주는 역할을 하는 특수한 메소드라고 할 수 있다. 그런데 반환 값이 있다면 엉뚱한 객체가 생성될 것이다. 따라서 반환 값을 필요로 하는 작업에서는 생성자를 사용하지 않는다. 반환값이 없기 때문에 return도 사용하지 않고, 반환 값을 메소드 정의에 포함시키지도 않는다.
  • 생성자의 이름은 클래스의 이름과 동일하다.
    자바에서 클래스의 이름과 동일한 메소드는 생성자로 사용하기로 약속되어 있다.
profile
훈이야 화이팅

0개의 댓글