인터페이스는 추상 메소드의 집합이다. 추상 클래스도 추상 메소드의 집합이라고 볼 수 있는데,

추상 클래스와 인터페이스의 차이는 추상 클래스는 추상 메소드를 가진 클래스이고, 인터페이스는 추상 메소드의 집합이다 (클래스가 아님)

 

 

 

 

 

목차

  • 1. 인터페이스(interface)란?
  •     1-1. 사용하는 이유
  •     1-2. 형태
  •     1-3. 특징
  • 2. 예제 (2개)

 

 

1. 인터페이스(interface) 란?

1) 사용하는 이유

  • 다양한 기능을 가진 추상 메소드의 집합인 인터페이스를 하나의 클래스에서 여러 개 사용 가능 (다중 상속 가능)
  • 개발 시간 단축
  • 변경에 유리한 유연한 설계 가능
  • 표준화 가능
  • 관계 없는 클래스들의 관계를 맺어줄 수 있다 

 

 

상위 클래스가 다른 클래스들을 인터페이스로 묶을 수 있다 ( = 관계 없는 클래스들의 관계를 맺어줄 수 있다)

 

 

 

 

2) 형태 

 

     interface  인터페이스 이름 {

          public static final 타임 상수 이름 = 값;

          public abstract 메소드 이름 (매개변수) ;

     }

 

 

 

3) 특징

  1. interface 키워드를 사용, 모든 멤버가 public
  2. 구현부가 없는 메소드(= 추상 메소드)의 집합
  3. 인터페이스는 상수와 추상메소드로 구성 (자바 8부터 static 메소드, default 메소드도 사용 가능)
  4. 인터페이스 내의 변수는 public static final 상수화 변수만 사용 가능하며, public static final는 생략가능
  5. 인터페이스 내의 메소드는 public abstract 메소드로 사용 가능하며, public abstract는 생략가능
  6. 추상화 클래스와 마찬가지로 인스턴스 생성 불가 (객체화 불가)
  7. 인터페이스를 여러 개 상속 가능 (다중 상속 가능) 하며, 추상 메소드를 모두 오버라이드 해야함

 

 

 

2. 예제 (2개)

예제 1)

 

 

 

 

 

 

 

 

 

 

 

예제 2)

 

 

 

 

 

 

 

 

 

 

 

+ Recent posts