날아라쩡글이의 블로그입니다.

추상화와 인터페이스 정리 본문

중앙 HTA (2106기) story/java story

추상화와 인터페이스 정리

날아라쩡글이 2021. 9. 28. 21:58
반응형

추상화

  • 구현부가 없는 것,
  • 구체적인 구현내용을 포함하고 있지 않은 것
  • 구체적인 구현을 각각의 구현클래스(자식클래스)에게 위임하는 것

추상화의 방식

  • 인터페이스 
    • 각각의 구현클래스가 반드시 구현할 기능을 정의한다. 
    • 인터페이스는 구현클래스들의 표준이 된다. 
    • 구현클래스들은 인터페이스에서 정한 표준(접근제한자, 반환타입, 메소드 이름, 매개변수)이 정해진대로 구현한다. 
    • 같은 인터페이스를 구현한 모든 구현클래스는 사용방법이 완벽하게 동일하다. 
    • 인터페이스는 클래스간의 결합을 느슨하게 유지시킨다. 
    • 인터페이스는 동시작업을 가능하게 한다. 
    • 인터페이스를 구현하는 클래스의 개발, 인터페이스를 구현한 클래스를 이용하는 클래스의 개발이 동시에 이뤄진다. 
    • 인터페이스를 사용하는 이유??? 
    • 모든 클래스들이 동일한 개발이 이뤄지게 하고, 사용방법이 동일하게 하기 위해서!
  • 구현클래스의 표준
    • 장치간의 (디바이스간에 ) 인터페이스 연결이 (어뎁터가 ) 같아야한다. 
    • 두장치간의 표준이란? 볼트와 너트, 플로그와 콘센터처럼 같은 표준을 보고 만들어지는 객체와 객체간의 연결, 장치와 장치간의 연결이 원활하게 되기 위해서 표준을 만드는 것이다. 
    • 목적은?
      • 다형성발현
        • 연결된 객체가 어떤것이냐에 따라서 다른 것이 출력된다. 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