-
자바 인프런 - 인터페이스자바/인프런 인강 2018. 2. 2. 13:34
- 기본 문법
-생성
package 패키지명
public interface 인터페이스명 {
public static final int CONSTANTNAME = 10; //상수명은 대문자료 표기
public void 메소드명(); //추상 메소드
}
-사용
package 패키지명
public class 클래스명 implements 인터페이스명1, 인터페이스명1, ....{
@오버라이드
public 인터페이스1의 메소드 {
}
@오버라이드
public 인터페이스2의 메소드 {
}
}
- 개념
-실제 기능은 없다. 오직 추상 메소드와 상수만 존재한다.
-접근제한자 private은 사용할 수 없다.
-인터페이스는 객체 타입으로만 사용된다.
-인터페이스의 추상 메소드는 하위 클래스(객체)에서 오버라이드해서 사용한다.
-다형성(객체의 타입이 다양함)
-한번에 다중구현이 가능하다.
-객체 생성시에 여러 인터페이스를 implement한 클래스를 객체 타입으로 지정하면 클래스에서 불러온 모든 인터페이스의 메소드를 사용할 수 있지만, 특정 인터페이스를 객체 타입으로 정하면 그 인터페이스의 메소드만 사용할 수 있다. (접근 제한 기능)
- 추상 클래스와 인터페이스
-공톰점:
데이터 타입 생성을 위해 사용한다.
추상메소드를 가지고 있다.
익명(anonymous) 클래스 - 추상 클래스의 객체를 생성하면 그 아래 익명클래스와 추상 메소드의 기능을 바로 정의해서 사용할 수 있다.
-차이점:
추상 클래스에는 일반 메소드와 추상 메소드 둘다 존재할 수 있지만
인터페이스는 오직 추상 메소드와 상수만 존재할 수 있다.(일반 메소드는 에러 발생)
'자바 > 인프런 인강' 카테고리의 다른 글
자바 인프런 - Collections(자료구조) (0) 2018.02.14 자바 인프런 - 예외처리 (0) 2018.02.14 자바 인프런 - 추상클래스 (0) 2018.02.01 자바 인프런 - 상속 (0) 2018.01.31 자바 인프런 - static, final (0) 2018.01.31