'인터페이스'에 해당되는 글 1건

  1. 2014.04.07 [Java] 09. 상속, 추상클래스, 인터페이스
  • 인터페이스 (Interface)
    • 클래스에 필요한 메소드들에 대한 약속.
    • 어떤 기능이 있어야한다. 라고만 정하고 그 메소드가 어떻게 돌아가는지는 상관 없음.
    • 그저 스펙을 정의.

  • 추상클래스 (Abstract class)
    • 클래스의 용도가 객체 생성 용도로 사용하지 않는 경우에 사용함.
    • 클래스의 객체 생성의 용도가 아니라면 변수의 타입으로 선언하는 용도와 상속의 본연의 기능으로 특정한 코드를 하위 클래스로 물려주는 기능을 활용할 때 사용함.
    • 객체를 생성하지는 않으나 변수 선언 용도로 사용됨.
    • 상속의 고유 기능인 하위 클래스에 같은 데이터와 기능을 가지도록 물려주는 기능

  • 상속 (Inheritance)
    • 특정 클래스를 구성할 때 기존 클래스의 데이터(속성)와 메소드를 상위(부모) 클래스에서 그대로 물려받아서 중복적인 코드를 줄인다는 장점.
    • 하나의 변수 타입으로 여러 종류의 객체를 의미하는 추상화된 방식의 프로그램이 가능하게 하는 객체지향 기법

  • 인터페이스 vs 추상클래스
    • 공통점
      • 추상 메소드를 가진다.
      • 객체 생성이 불가능하고 타입으로만 사용됨.
    • 차이점
      • 인터페이스는 스펙이나 원하는 기능을 정의하고자 쓰지만, 추상 클래스는 ‘상속+약간의 강제성이 목적’이다.
      • 인터페이스는 상수, 추상 메소드만 존재하지만, 추상클래스는 상속이 원래 목적이므로 실제 변수나 메소드를 그대로 가지고 있다.
      • 인터페이스는 부채만 남겨주지만, 추상 클래스는 재산도 남겨준다.
      • 인터페이스는 다중 상속(?)도 가능하지만, 추상 클래스는 단일 상속만 가능.


'공대생 > Java Programming' 카테고리의 다른 글

[Java] 10. 자료구조  (0) 2014.04.08
[Java] 08. 상속  (0) 2014.04.06
[Java] 07. 객체지향(2)  (0) 2014.04.04
[Java] 06. 객체지향(1)  (0) 2014.04.04
[Java] 05. 배열(2)  (0) 2014.04.03
Posted by 믐믐믐믐믐
,