날아라쩡글이의 블로그입니다.
추상화와 인터페이스 정리 본문
728x90
반응형
추상화
- 구현부가 없는 것,
- 구체적인 구현내용을 포함하고 있지 않은 것
- 구체적인 구현을 각각의 구현클래스(자식클래스)에게 위임하는 것
추상화의 방식
- 인터페이스
- 각각의 구현클래스가 반드시 구현할 기능을 정의한다.
- 인터페이스는 구현클래스들의 표준이 된다.
- 구현클래스들은 인터페이스에서 정한 표준(접근제한자, 반환타입, 메소드 이름, 매개변수)이 정해진대로 구현한다.
- 같은 인터페이스를 구현한 모든 구현클래스는 사용방법이 완벽하게 동일하다.
- 인터페이스는 클래스간의 결합을 느슨하게 유지시킨다.
- 인터페이스는 동시작업을 가능하게 한다.
- 인터페이스를 구현하는 클래스의 개발, 인터페이스를 구현한 클래스를 이용하는 클래스의 개발이 동시에 이뤄진다.
- 인터페이스를 사용하는 이유???
- 모든 클래스들이 동일한 개발이 이뤄지게 하고, 사용방법이 동일하게 하기 위해서!
- 구현클래스의 표준
- 장치간의 (디바이스간에 ) 인터페이스 연결이 (어뎁터가 ) 같아야한다.
- 두장치간의 표준이란? 볼트와 너트, 플로그와 콘센터처럼 같은 표준을 보고 만들어지는 객체와 객체간의 연결, 장치와 장치간의 연결이 원활하게 되기 위해서 표준을 만드는 것이다.
- 목적은?
- 다형성발현
- 연결된 객체가 어떤것이냐에 따라서 다른 것이 출력된다. interface의 사용목적
- 어떤 레포트 객체가 연결이 되냐에 따라서 출력이 달라진다. 사용방법은 동일함
- 동일한 방법으로 사용가능한 클래스를 만들기
- 클래스간의 느슨한 결합
- 교체가능성과 확장성 -> 더 나은 기능을 같은 이름으로 구현하는 것
- 다형성발현
추상클래스
- 구현부가 없는 메소드를 가질 수 있는 클래스다.
- 목적으로
- 구현클래스의 구현의 부담이 감소되고
- (인터페이스를 구현클래스가 직접구현하는 경우 추상클래스를 사용하면 구현클래스의 종류에 상관없이 동일한 기능을 추상클래스에서 구현하게 하고, 구현클래스가 추상클래스를 상속받으면 구현클래스의 구현부담이 감소된다)
- templet의 패턴의 구현의 활용
- 전/후처리 작업은 추상클래스에서 구현하고, 구현클래스는 실질적인 업무내용을 구현하게 한다.
내부클래스
- 클래스 내부에 정의되는 클래스
- 멤버 내부 클래스
- 내부클래스에서 외부클래스의 모든 구성요소를 사용할 수 있다.
- 정적 내부 클래스
- 빌드패턴구현에 활용된다.
- 로컬 내부 클래스
익명 객체
- 이름이 없는 객체이다.
- 클래스의 구현없이 생성하는 객체이다.
- 부모(인터페이스, 추상클래스,거의 인터페이스를 사용한다.)릐 메소드를 재정의해서 생성한다.
- GUI프로그램의 이벤트 처리에 활용된다.
- 익명객체는 일반적으로 한 군데에서만 사용되는 객체를 정의할 때 사용한다.
반응형
'중앙 HTA (2106기) story > java story' 카테고리의 다른 글
싱글톤 객체 (0) | 2021.11.21 |
---|---|
Exception ,throw ,try~catch문 (0) | 2021.10.08 |
내부 클래스, 익명클래스 (0) | 2021.09.28 |
추상클래스 (0) | 2021.09.26 |
추상화 (0) | 2021.09.24 |
Comments