클래스 vs 객체 = 붕어빵틀 vs 붕어빵

클래스와 객체의 관계를 흔히 이렇게 비유하지만 틀린말이다. 그대로 코드로 작성해보자.

붕어빵틀 붕어빵 = new 붕어빵틀(); // ???

클래스와 객체의 개념이 느낌 오는가. 클래스는 분류에 대한 개념이지 실체가 아니다. 객체가 실체다.

이제 객체지향의 4대 특성에 대해 알아보자.

추상화

추상화는 모델링이다.

추상화와 T 메모리

예제 코드로 살펴보자.

public class Mouse {
    String name;
    int age;
    int countOfTail;
    
    public void sing() {
		    System.out.println(name + "찍찍!");
    }
}
class MouseDriver {

    public static void main(String[] args) {
        Mouse micky = new Mouse();
        micky.name = "미키";
        micky.age = 85;
        micky.countOfTail = 1;

        micky.sing();

				micky = null;
        
        Mouse jerry = new Mouse();
        jerry.name = "제리";
        jerry.age = 73;
        jerry.countOfTail = 1;

        jerry.sing();
    }
}