인터페이스(interface) (1)
1. 인터페이스란?
- 일종의 추상클래스
- 추상메서드와 상수만을 멤버로 가질 수 있음
(몸통을 갖춘 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없음)
2. 인터페이스의 작성
- 모든 멤버변수는 public static final이어야 하며, 이를 생략할 수 있다.
- 모든 메서드는 public abstract이어야 하며, 이를 생략할 수 있다.
(생략된 제어자는 컴파일 시 컴파일러가 자동적으로 추가)
*JDK1.8부터 인터페이스에 staticaptjemdhk default메서드의 추가를 허용
Ex)
interface 인터페이스이름 {
public static final 타입 상수이름 = 값;
public abstract 메서드이름 (매개변수목록);
}
3. 인터페이스의 상속
- 인터페이스는 인터페이스로부터만 상속받을 수 있음
- 클래스와 달리 다중상속 가능
Ex)interface Fightable extends Movable, Attackable { }
4. 인터페이스의 구현
- 인터페이스는 자신에 정의된 추상메서드의 몸통을 만들어주는 클래스를 작성해야 함
- 만일 구현하는 인터페이스의 메서드 중 일부만 구현한다면, abstract를 붙여서 추상클래스로 선언해야 함
*인터페이스의 이름에는 주로 'able'로 끝나는데, 어떠한 기능 또는 행위를 하는데 필요한 메서드를 제공한다는 의미를 강조하기 위해서임
Ex)
abstract class 클래스이름 implements 인터페이스이름 {
// 인터페이스에 정의된 추상메서드 구현
}
5. 인터페이스를 이용한 다중상속
- 인터페이스는 static상수만 정의할 수 있으므로 조상클래스의 멤버변수와 충돌하는 경우는 거의 없고 충돌된다 하더라도 클래스 이름을 붙여서 구분이 가능
java의 정석 chapter7
Author And Source
이 문제에 관하여(인터페이스(interface) (1)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@roghabo/인터페이스interface-1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)