:: ADVANCE ::

[OOP] 객체지향 본문

Study/OOP

[OOP] 객체지향

KSJ14 2015. 3. 24. 06:48
반응형

객체


연관된 메소드와 그 메소드가 사용하는 변수들을 분류하고 그룹핑한 것



추상화


복잡함 속에서 필요한 관점만을 추출하는 행위



은닉화, 캡슐화


제대로된 부품이라면 그것이 어떻게 만들어졌는지 모르는 사람도 그 부품을 사용하는 방법만 알면 쓸 수 있어야 한다. 이를테면 모니터가 어떻게 동작하는지 몰라도 컴퓨터와 모니터를 연결하는 방법만 알면 화면을 표시 할 수 있는 것과 같은 이치다. 즉 내부의 동작 방법을 단단한 케이스 안으로 숨기고 사용자에게는 그 부품의 사용방법만을 노출하고 있는 것이다. 이러한 컨셉을 정보의 은닉화(Information Hiding), 또는 캡슐화(Encapsulation)라고 부른다. 자연스럽게 사용자에게는 그 부품을 사용하는 방법이 중요한 것이 된다.  



인터페이스


모니터 입장에서는 컴퓨터가, 컴퓨터 입장에서는 모니터가 어떤 식으로 만들어졌는지는 신경쓰지 않는다. 각각의 부품은 미리 정해진 약속에 따라서 신호를 입, 출력하고, 연결점의 모양을 표준에 맞게 만들면 된다. 이러한 연결점을 인터페이스(interface)라고 한다. 

인터페이스란 이질적인 것들이 결합하는 것을 막아주는 역할도 하는 것이다. 즉 인터페이스는 부품들 간의 약속이다. 


그렇다면 GUI 같은 인터페이스는 프로그램과 사용자의 연결점이라는 건가



클래스


클래스는 연관되어 있는 변수와 메소드의 집합이다.

클래스는 일종의 설계도다.

설계도를 구체적인 제품으로 만들어야 한다. 그 때 사용하는 키워드가 new이다. 

new Calculator()은 클래스 Calculator를 구체적인 제품으로 만드는 명령이다.

이렇게 만들어진 구체적인 제품을 인스턴스(instance)라고 부른다. 아래의 관계를 기억하자.

  • 클래스 : 설계도
  • 인스턴스 : 제품



[참고] http://opentutorials.org/module/516/5399

[참고] http://opentutorials.org/module/516/5400


반응형

'Study > OOP' 카테고리의 다른 글

[OOP] 인터페이스  (0) 2015.08.31
Comments