[SEB BE] Section 1. 생성자(Constructor)

박두팔이·2022년 12월 28일
0

자바

목록 보기
6/26

생성자

생성자는 인스턴스 변수들을 초기화하는 데 사용되는 특수한 메서드라고 할 수 있다.
생성자는 메서드와 비슷한 구조를 가지고 있지만 두 가지 부분에서 차이가 있다.

  • 생성자의 이름은 클래스의 이름과 반드시 같아야 한다.
  • 생성자는 리턴타입이 없다. 따라서 반환타입이나, void키워드를 사용하지 않는다. 리턴하지 않는다가 아니라 리턴타입자체가 존제하지 않기 때문이다.

기본생성자

모든 클래스에는 반드시 하나 이상의 생성자가 존재해야 한다.

생성자를 따로 만들지 않아도 인스턴스를 만들 수 있었던 이유는 클래스안에 생성자가 없는경우 자바컴파일러가 기본 생성자를 자동으로 추가해줬기 때문이다. 기본생성자는 매개변수가 없는 생성자를 의미한다.

클래스명(){} // 기본생성자 구조. 모든클래스에는 이 기본생성자가 존재한다.

매개변수가 있는 생성자

new 생성자()를 만들때 생성자 소괄호 안에는 매개변수가 들어가 있는 것을 매개변수가 있는 생성자라고 한다.

public class CarTest {
    public static void main(String[] args) {
        Car c= new Car("Model X","red",250);
        System.out.println("제 차는"+c.getModelName()+"이고, 컬러는" + c.getColor()+ "입니다");
    }
}
class Car {
    private String modelName;
    private String color;
    private int maxSpeed;

    Car(){} //기본생성자 있음
    public Car(String modelName, String color, int maxSpeed){
        this.modelName=modelName;
        this.color=color;
        this.maxSpeed=maxSpeed;
    }

    public String getModelName(){
        return modelName;
    }
    public String getColor(){
        return color;
    }
}
profile
기억을 위한 기록 :>

0개의 댓글