프로그래밍 공부

[프로그래밍] 객체지향 프로그래밍이란? 2편 기본 개념

Seashark 2018. 6. 11. 09:00

이번 포스트는 객체지향 프로그래밍(OOP) 에서의 중요한 개념중 하나인 추상화, 켑슐화, 은닉화를 알아보겠습니다.


1. 프로그램의 추상화: Abstraction 

프로그램을 설계할때 추상화를 한다는것은 아주 중요합니다. 추상화를 한마디로 표현하면 공통점을 뽑아내는것 입니다. 앞선 포스트에서 예를 들었던 사람을 예로 들어보면, 사람들은 팔, 머리, 다리를 '공통적'으로 소유하고 있다는것 입니다.
추상화는 코드를 직접 짤때도 중요하지만 설계할때 더 중요한 개념입니다. 흔히 객체라는것을 만들때에는 두가지 일을 염두해두고 설계합니다. 
  • 간단한, 간결한 시스템
  • 모든 정보들 표현과 

간단한 설계, 간결한 설계가 프로그래밍의 가장 힘든부분이긴 하지만 완성만 시키면 절차지향형 설계를 한 프로그램보다 훨씬 구현하기 쉽다는걸 느낄 수 있을것입니다.


2. 켑슐화/ 은닉화 Encapsulation


켑슐화와 은닉화는 정보 보안과도 관련이 있는 항목입니다. 켑슐화와 은닉화는 한 객체에서 다른 객체나 함수들에 제공하는 데이터를 제한하고 필요한것만 넘기면서 나머지 데이터들을 보호하는 역할을 합니다. 


반응형