목록Study/OOP (2)
:: ADVANCE ::
[OOP] 인터페이스 인터페이스 검색을 해보면 빈 껍데기, 구현을 해서 사용해야 하는 것 이라고 나온다. 더 쉬운 정의로는 어떠한 기능을 정의 해놓지 않고, 단지 비슷한 기능을 모아서 어떻게 만들겠다고 추상적으로 선언만 해놓은 것 이라고 한다. 즉, 어떠한 공통적인 (또는 비슷한) 기능을 추상적으로 선언해놓고이를 상속 또는 implements 받아서 구체적인 부분을 정의해서 사용하도록 하는 것이다. 예를 들어 키보드를 보면 한국 키보드, 영어 키보드, 일본어 키보드가 있다고 하자. 각각의 키보드에 각각의 언어 필드가 있고 각각의 입력이라는 기능을 가지고 있을 수 있다.한국 키보드에 한국어 필드와 한국어 입력이 있고영어 키보드에 영어 필드와 영어 입력이 있고일본어 키보드에 일본어 필드와 일본어 입력이 존재..
객체 연관된 메소드와 그 메소드가 사용하는 변수들을 분류하고 그룹핑한 것 추상화 복잡함 속에서 필요한 관점만을 추출하는 행위 은닉화, 캡슐화 제대로된 부품이라면 그것이 어떻게 만들어졌는지 모르는 사람도 그 부품을 사용하는 방법만 알면 쓸 수 있어야 한다. 이를테면 모니터가 어떻게 동작하는지 몰라도 컴퓨터와 모니터를 연결하는 방법만 알면 화면을 표시 할 수 있는 것과 같은 이치다. 즉 내부의 동작 방법을 단단한 케이스 안으로 숨기고 사용자에게는 그 부품의 사용방법만을 노출하고 있는 것이다. 이러한 컨셉을 정보의 은닉화(Information Hiding), 또는 캡슐화(Encapsulation)라고 부른다. 자연스럽게 사용자에게는 그 부품을 사용하는 방법이 중요한 것이 된다. 인터페이스 모니터 입장에서는 컴..