티스토리 뷰

Design Pattern

객체지향의 4대 특성

siyoon210 2018. 12. 31. 09:59
반응형

객체지향의 4대 특성?

캡슐화, 상속, 추상화, 다형성이 객체 지향의 4대 특성이라는 것은 개발자라면 한번 쯤은 들어본 내용 입니다. 4대 특성에 대한 내용은 다른 포스팅에 정리 해두었습니다.

☞ 객체의 캡슐화(Encapsulation), 접근제어자

☞ 객체의 추상화 (Abstraction)

☞ 객체의 다형성(Polymorphism)


하지만 개인적으로 각각의 내용을 공부 하고 나서도 꼭 찝찝한 부분이 있었습니다. '이게 객체지향의 특성인데.. 뭐 어떻다는 거지?' 뭔가 와닿지 않고 별개의 개념을 말로써만 이어 붙였다는 기분이 들었습니다. 그리고 4대 특성에 대해 쉽게 이해할 수 없을지를 고민해 봤고 그 결과 한가지 키워드를 붙이면 아주 자연스럽다는 것을 알게 되었습니다. 바로 '~ 할 수 있다' 라는 키워드 입니다. 


특성이라는 키워드를 '~할 수 있다' 라는 키워드로 치환 해보겠습니다.


  • 객체지향 특성 중 하나는 캡슐화이다. →  객체지향은 캡슐화 할 수 있다.
  • 객체지향 특성 중 하나는 상속이다. → 객체지향은 상속 할 수 있다. (상속을 이용 할 수 있다.)
  • 객체지향 특성 중 하나는 추상화다. → 객체지향은 추상화 할 수 있다. 
  • 객체지향 특성 중 하나는 다형성이다. → 객체지향은 다형성을 갖을 수 있다.

키워드를 바꾸니 한결 이해하기가 쉬워졌습니다.


4대 특성과 장점

객체지향이 정확히 무엇을 할 수 있는지 (특성이 뭔지), 그리고 그것으로 인해 취할 수 있었던 장점이 무엇인지 아래표로 정리 해봤습니다. 4대 특성들에 대한 자세한 개념과 내용은 위에 링크를 걸어둔 포스팅을 참고 해주시기 바랍니다. 

 

특성(=할 수 있다.) 

장점(이점) 

캡슐화 

정보 은닉 

객체의 오용, 오염 방지 

상속 

재사용 + 확장 

개발 편의, 중복된 코드 제거

추상화 

모델링 

설계 (모델링) 

다형성 

여러 모습을 갖을 수 있다. 

객체 사용자 편의성, 변화에 유연하게 대처



참고도서 - 스프링 입문을 위한 자바 객체 지향의 원리와 이해 (김종민 저자)

반응형
댓글