상황을 하나 만들어보자 대리님이 손가락을 가리키면서 저기 컵 좀 주세요 준우 씨라고 부탁하였다.
책상에 컵은 하나밖에 없었기 때문에 나는 컵을 대리님께 건네줄 수 있었다.
컵은 엄밀히 말하면 스타벅스 텀블러였고 대리님은 준우 씨 저기 스타벅스 텀블러 주세요 라고 말하지 않았음에도 불구하고 나는 컵이라는
말만 듣고도 무엇을 원하는지 알 수 있었다.
너무 당연한 이야기지만 나는 어떻게 저렇게 개떡같이 말해도 찰떡같이 알아들을 수 있을까?
인간은 본능적으로 공통적인 것을 그룹화하여 복잡한 개념을 단순화시키려고 한다.
그렇기 때문에 나는 애초에 텀블러든 유리컵이든 종이컵이든 컵이라는 하나의 개념으로 알고 있었기 때문에 무엇을 원하는지 인지할 수 있었던 것이다.
서론이 너무 길었지만 이것이 바로 추상화이다.
추상화는 공통적인 개념들을 한데 묶어서 최대한 단순화시키는 것이다.
추상화를 하면 구체적인 정보를 얻을 수는 없지만 복잡한 것을 단순화하였기 때문에 정확성보다는 목적에 집중할 수 있게 만들어 준다.
'Java > 객체지향' 카테고리의 다른 글
오브젝트를 읽고 (0) | 2020.05.18 |
---|---|
(OOP) extends는 왜 죄악인가? (0) | 2020.04.05 |
(OOP) 리스코프 치환 원칙 (0) | 2020.02.20 |
(OOP) 객체지향에 대해서(2) - 은유 (0) | 2020.02.20 |
(OOP) 객체지향에 대해서(1) - 객체, 행동, 상태 (0) | 2020.02.19 |