Class - 캐릭터, 가구, 붕어빵 틀 (추상적인 것)

Object - 누누, 티모, 의자, 침대 (실체화가 가능한 것)

Instance - 내가 플레이중인 누누, 티모, 내가 구매한 의자, 침대, 내가 산 붕어빵 (실체화가 된 것)

 

1. 클래스란? 

  • 클래스는 표현하고자 하는 대상의 공통 속성을 한 군데에 정의해 놓은 것이라고 할 수 있습니다.
  • 즉, 클래스는 객체의 속성을 정의해 놓은 것이죠.
  • 또한, 클래스 내부의 정보를 멤버 변수라고 합니다.

 

클래스 = 붕어빵 틀 (게임 캐릭터의 틀)

인스턴스 = 붕어빵 틀에서 찍어낸 붕어빵 (생성된 각각의 캐릭터)

멤버 변수 = 붕어빵이 가진 속성 (캐릭터의 능력치) 

메소드 = 붕어빵이 가진 기능 (캐릭터의 스킬)

 

 

 

2. 생성자(constructor)

  • 생성자는 인스턴스가 생성될 때 사용되는 **'인스턴스 초기화 메소드'**입니다. 즉 new 와 같은 키워드로 해당 클래스의 인스턴스가 새로 생성될 때, 자동으로 호출되는 메소드입니다. 이 생성자를 이용해서 인스턴스가 생성될 때 수행할 동작을 코드로 짤 수 있는데요. 대표적으로 인스턴스 변수를 초기화 하는 용도로 사용합니다.

 

  • 생성자의 형식
    • 생성자에게도 생성자만의 조건이 있기 때문에 이 부분을 따라줘야합니다!
      1. 생성자의 이름은 클래스명과 같아야 한다.
      2. 생성자는 리턴 값이 없다.
    • 클래스이름 (타입 변수명, 타입 변수명, ...){ 인스턴스 생성 될 때에 수행하여할 코드 변수의 초기화 코드 }
    • 클래스에서 생성자를 명시해주지 않을 경우 Default 생성자가 존재한다. (자바 컴파일러가 기본 생성자를 추가해주기 때문)
# 생성자 예시
class Phone {
    String model;
    String color;
    int price;

    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 + "만원에 샀다.");
    }
}

+ Recent posts