글수 2,699
어느 분이 그러는데 Encapsulation, Abstraction, Polymorphism 이라고 하고 위키피디아(http://ko.wikipedia.org/wiki/%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D) 에서도 특징으로 이 3개가 나와 있는데 의문이 있습니다.
캡슐화는 추상화의 도구 아닌가요?? 결과적으로 둘은 같은 말인것 같은데... 제 생각에는 그 둘을 통합하고 inheritance를 추가 해야 할 것 같은데요. 그래야 OOP의 재사용성이라는 특징이 잘 드러날 것 같은데..
캡슐화는 추상화의 도구 아닌가요?? 결과적으로 둘은 같은 말인것 같은데... 제 생각에는 그 둘을 통합하고 inheritance를 추가 해야 할 것 같은데요. 그래야 OOP의 재사용성이라는 특징이 잘 드러날 것 같은데..
2008.01.21 00:17:29 (*.51.133.106)
'추상화'라는 단어를 어떤 관점에서 보느냐에 따라 다르겠군요
저는 추상화라는 것을 객체가 표현되는 방식으로 보았는데
승룡님은 객체가 구성되는 방식에서 본거군요.
위키피이다에서도 보면 abstraction의 첫번째 단락은 제가 생각했던 방식이고
두번째 단락은 아마 승룡님의 관점이겠군요.
저는 추상화라는 것을 객체가 표현되는 방식으로 보았는데
승룡님은 객체가 구성되는 방식에서 본거군요.
위키피이다에서도 보면 abstraction의 첫번째 단락은 제가 생각했던 방식이고
두번째 단락은 아마 승룡님의 관점이겠군요.
2008.01.25 23:14:42 (*.255.48.66)
캡슐화는 외부로부터 객체의 동작 방식을 가리는 것을 말하는 것 같고, 추상화는 구체화의 반대말로 이해해서 '사람'을 구체화하면 철수, 영희가 되듯이 반대로 철수, 영희를 추상화하면 사람이 되는 것처럼 추상화란 좀 더 포괄적인 개념으로 묶는 게 아닌가 싶네요.
추상화라는게 꽁꽁 언 얼음을 녹여서 안개처럼 뿌옇게 만드는 것은 아니라고 생각합니다.
추상화 하면 좀 더 멀리서 쳐다보는 것 같은 이미지네요. 캡슐화는 아예 안 보이게 막는 거죠.
그러니까 캡슐화와 추상화는 전혀 다른 뜻이라고 생각합니다.
추상화라는게 꽁꽁 언 얼음을 녹여서 안개처럼 뿌옇게 만드는 것은 아니라고 생각합니다.
추상화 하면 좀 더 멀리서 쳐다보는 것 같은 이미지네요. 캡슐화는 아예 안 보이게 막는 거죠.
그러니까 캡슐화와 추상화는 전혀 다른 뜻이라고 생각합니다.

target=_blank>http://en.wikipedia.org/wiki/Object-oriented_programming
물론 저는 oop의 특징이 3갠지 4갠지 5갠지 따지는건 별로 관심이 없고...
캡슐화와 추상화는 전혀 다르죠
캡슐화는 이 객체가 실제로 무슨일을 하는지는 클라이언트 입장에서는 알필요가 없고 그저 인터페이스를 통해서 객체를 동작시킨다는 개념이고
추상화는 여러 특징들을 가진 객체들의 공통된 속성을 추려내는 것이죠.
그리고 상속이 추상화의 도구이고요.