생성자는 인스턴스 변수들을 초기화하는 데 사용되는 특수한 메서드라고 할 수 있다.
생성자는 메서드와 비슷한 구조를 가지고 있지만 두 가지 부분에서 차이가 있다.
모든 클래스에는 반드시 하나 이상의 생성자가 존재해야 한다.
생성자를 따로 만들지 않아도 인스턴스를 만들 수 있었던 이유는 클래스안에 생성자가 없는경우 자바컴파일러가 기본 생성자를 자동으로 추가해줬기 때문이다. 기본생성자는 매개변수가 없는 생성자를 의미한다.
클래스명(){} // 기본생성자 구조. 모든클래스에는 이 기본생성자가 존재한다.
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; } }