상속에 대한 오해 - 클래스 vs 객체 =?= 붕어빵틀 vs 붕어빵

개요

  • 붕어빵틀과 붕어빵 비유는 클래스와 객체의 관계를 설명할 때 흔히들 사용됩니다.
  • 하지만,, 이 비유가 정확한지에 대한 의문이 있습니다.

전통적 비유의 문제점 (잘못된 메타포)

  • 실제로 붕어빵틀과 붕어빵 의 비유가 명확한 설명이 아닐 수 있음
  • 실제로 붕어빵틀 붕어빵 = new 붕어빵틀() 설명이 이해가 되시나요..?
  • 붕어빵틀이라는 개념의 붕어빵이라니..

더 나은 비유

  • 붕어빵틀이 붕어빵을 찍어낸다 라는 논리라면
  • 금형 기계가 붕어빵틀을 찍어낸다 라는 논리도 성립해야합니다.
  • 금형기계 붕어빵틀 = new 금형기계() 와 같은 코드로 이어질 수 있지만, 말이 되지 않을수 있습니다.

팩토리

  • 붕어빵틀은 붕어빵을 만드는 팩토리입니다.
  • 팩토리는 디자인 패턴 중 하나로서, 객체를 생성하는 로직을 캡슐화 하는 것을 목적으로 합니다.

클래스와 객체의 실체와 개념

  • 클래스
    • 분류에 대한 개념
    • 객체를 만들기 위한 틀
  • 객체
    • 실체
    • 클래스의 인스턴스
  • 사람 ⇒ 클래스
  • 김연아 ⇒ 객체

클래스와 객체의 관계

  • 메타포를 이용하면
    • 클래스 : 객체 = 펭귄 : 뽀로로 = 사람 : 김연아
  • 이를 통하여 클래스와 객체의 관계를
  • 분류와 사물의 관점에서 이해가능

다음포스트부터는 객체지향의 4대 특징에 대해 하나씩 파악해가보겠습니다.


Uploaded by N2T