Day16 :) 추상화 개념정리

Nux·2021년 9월 24일
0

자바웹개발

목록 보기
16/105
post-thumbnail

추상화

  • 구현부가 없는 메서드를 정의하는 것
  • 인터페이스, 추상클래스는 구현부가 없는 메서드를 가질 수 있음

인터페이스

  • 구현클래스가 반드시 구현할 기능을 정의할 때 사용
  • 인터페이스는 구현클래스를 구현 할 때 표준(기준, 스펙)이 됨
  • 인터페이스에 정의된 메서드는 구현클래스에서 기능 구현 시, (재정의)
    구현메서드의 접근제한자, 반환타입, 메서드명, 매개변수 타입이 어떻게 정의해야하는지 알려줌
  • 인터페이스에 정의된 구현부가 없는 메서드와 구현클래스의 구현메서드는 메서드 선언부가 같아짐
  • 같은 인터페이스를 구현한 구현클래스들은 구체적인 구현내용은 다를 수 있지만 사용방법은 완전 동일

추상클래스

  • 구현클래스의 구현부담을 감소시키기 위해서 사용
  • 각 구현클래스마다 동일한 구현내용을 가지는 것은 추상클래스에서 구현 후 상속
  • 구현클래스마다 구체적인 구현내용이 다른 것은 구현부가 없는 메서드 상태로 두면 각 구현클래스 내에서 오버라이딩
    (구현 내용이 동일한 기능은 상속받아서 사용, 내용이 다른 것은 재정의)
  • 추상클래스는 인터페이스와 구현클래스를 연결하는 다리 역할을 함

0개의 댓글