Java 초기화와 생성자

별의개발자커비·2023년 2월 10일
0

Java

목록 보기
22/66
post-thumbnail

생성자

생성자는 그 이름처럼 객체를 생성할 때 호출된다.

  • 클래스 이름과 똑같은 메소드를 만들어서 (= 생성자),
    이 객체를 사용하기 위해 반드시 해야하는 일을 입력해놓는 것
  • 어떤 일을 시작하기 전에 준비를 하게 되는데 이것을 다른 말로 초기화라고 한다. 객체 지향 프로그래밍도 초기화에 해당하는 기능이 제공되는데 이것을 생성자(constructor)라고 한다.
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 void avg() {
        System.out.println((this.left + this.right) / 2);
    }
}
 
public class CalculatorDemo1 {
 
    public static void main(String[] args) {
 
        Calculator c1 = new Calculator(10, 20);
        c1.sum();
        c1.avg();
 
        Calculator c2 = new Calculator(20, 40);
        c2.sum();
        c2.avg();
    }
 
}

생성자의 특징

  1. 값을 반환하지 않는다.
    생성자는 인스턴스를 생성해주는 역할을 하는 특수한 메소드라고 할 수 있다. 그런데 반환 값이 있다면 엉뚱한 객체가 생성될 것이다. 따라서 반환 값을 필요로하는 작업에서는 생성자를 사용하지 않는다. 반환 값이 없기 때문에 return도 사용하지 않고, 반환 값을 메소드 정의에 포함시키지도 않는다.

  2. 생성자의 이름은 클래스의 이름과 동일하다.
    자바에서 클래스의 이름과 동일한 메소드는 생성자로 사용하기로 약속되어 있다.

0개의 댓글