본문 바로가기
[ Developer ]/Core Java

[Java] 자바 인터페이스 Interface

by 김현섭. 2016. 5. 31.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
Interface
  • Abstract 보다 더 높은 추상화 수준을 제공
  • 클래스 자체의 규약을 정의함
  • 객체지향의 5개 특징 중 다형성에 해당
  • 다형성 : 같은 기능을 제공하는 표준 규약
  • 인터페이스는 하나의 표준이다

ex) CD Player
  • 기본 기능은 Play, Stop, Prev, Next
  • 자체의 동작 알고리즘은 모르지만 어떠한 동작을 하는지를 알고 있다 -> 인터페이스

# Interface 선언
  • public interface CDPlayer와 같이 선언
  • 인터페이스의 요소는 public abstract void play();라고 선언되고
  • abstract는 생략이 가능하다

# Interface 사용
  • public class MyMy implements CDPlayer를 선언해서 인터페이스를 사용 가능하다
  • 인터페이스의 정의된 요소들은 모두 정의를 해줘야 에러가 나지 않는다
  • public void play()와 같은 메소드로 모두 기능을 구체적으로 정의한다
  • 인터페이스가 구현된 클래스는 Implements Class (구현 클래스)라고 부른다
  • MyMy 이외에도 MP3Plyaer라는 구현 클래스를 선언 가능하다
  • 안에 선언된 인터페이스 요소는 같은 기능이지만 다른 구조를 가질 수 있다

# Interface 특성
  • 상속은 여러 가지 상속이 불가능하다
  • 그러나 인터페이스는 다중 상속이 가능하다
    • implements Interface1, Interface2, ...
  • 또한 인터페이스끼리 상속이 가능하다

# Interface 변수 선언
  • 인터페이스 내부의 모든 변수는 public static이 붙어 버린다
  • 모두 상수로 사용 가능

인터페이스로 필요한 메소드들을 정의만 해놓고 구조는 구현 클래스에서 구조 정의 후 사용한다

인터페이스를 사용하려면 상속의 개념을 알아야 한다