# 클래스 vs 객체

보통 클래스와 객체와의 관계를 비유할 때 클래스붕어빵틀, 객체붕어빵 처럼 표현하곤 한다. 이것을 Java가 객체를 생성할 때 사용하는 new 키워드를 사용하여 표현하면 아래와 같다.

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

붕어빵틀이라는 클래스에서 단순히 붕어빵을 찍어내기 때문에 나온 논리이다. 하지만 이것을 문장으로 표현하면 전혀 다른 의도로 해석된다.

새로운 붕어빵틀(new 붕어빵틀())을 만들었더니 붕어빵이 되었다?!

붕어빵틀은 단순히 붕어빵을 만드는 팩토리일 뿐이다. 붕어빵틀은 붕어빵의 클래스로 표현하기에는 애매한 부분이 있다.

클래스는 실체가 아닌 분류에 대한 개념이다. 실체객체이다.

클래스 : 객체

클래스 : 객체 = 곰 : 곰돌이 푸 = 사람 : 유재석 ≠ 붕어빵틀 : 붕어빵

곰돌이 푸유재석은 나이를 알 수 있고 키와 몸무게를 알 수 있다. 정보를 가지고 있는 실체이다. 즉 객체이다.

사람은 나이를 알 수 없다. 즉 개념을 나타내는 클래스이다.

# References

김종민, 『스프링 입문을 위한 자바 객체 지향의 원리와 이해』, 위키북스(2015), p80-82.

#Java #클래스 #객체
last updated: 9/16/2022, 8:42:02 PM