객체지향 언어 - 생성자 (constructor)

soomin·2023년 1월 16일

생성자 라는 것은
인스턴스가 생성될 때 사용되는 '인스턴스 초기화 메소드' 라고 하는데 🥲 풀어서 말하자면
: (new 키워드랑 함께) 클래스에 대한 새로운 인스턴스를 만들때, 자동으로 호출되게 하는 메소드를 말하는 것입니당

class Phone {
    String model;
    String color;
    int price;

    public Phone(String model, String color, int price) {
        this.model = model;
        this.color = color;
        this.price = price;
    }
}
 

이렇게 class를 만들고 그 안에 생성자를 만들어주면 됨

여기서 parameter로 받을 변수를 적어주는데,
❗️위 예시에서 이름은 같지만, 위에 class에서 만들어놓은 변수들과 같은 변수가 아닙니다 ❌

  • this.model 이 class에 있는 변수를 의미하는 것
  • Phone 이라는 객체에있는 model(this.model) 이라는 변수에 parameter로 받은 model을 할당할 것이라는 의미

생성자를 만들고 메인함수에서 실행해보면 자동으로 호출이 되는 형식

class Phone {
    String model;
    String color;
    int price;

    public Phone(String model, String color, int price) {
        this.model = model;
        this.color = color;
        this.price = price;
    }
}

public class Main {
    public static void main(String[] args) {
        Phone galaxy = new Phone("galaxy10", "black", 100);

        Phone iphone =new Phone("iphoneX", "black", 200);

        System.out.println("철수는 이번에 " + galaxy.model + galaxy.color + " + 색상을 " + galaxy.price + "만원에 샀다.");
        System.out.println("영희는 이번에 " + iphone.model + iphone.color + " + 색상을 " + iphone.price + "만원에 샀다.");
    } 
    // 철수는 이번에 galaxy10 black색상을 100만원에 샀다.
    // 영희는 이번에 iphoneX black색상을 200만원에 샀다.

프로그램에서 실행되는 모습을 보니까 이해가 더 잘되길래 첨부해놓아요

intelliJ 에서
command + N -> Generator -> contructor 로
자동완성 可能 !!

0개의 댓글