HYC 2023. 8. 9. 15:37

인터페이스 개념

 

.

 

 

인터페이스 [상수 필드]

 

추상메소드, 디폴트메소드

추상메소드는 이름만 있는 메소드로 중괄호가 없다

디폴트메소드는 완전한 실행코드, 중괄호(실행부)가 있다

 

정적메소드 - 인터페이스명.정적메소드명() 으로 사용한다.

 

 

인터페이스 예제 - 인터페이스의 추상메서드 선언하는 예제

 

5번 라인은 추상메서드 action() 선언

 

생성한 인터페이스(Actor)를 구현하는 구현 클래스 생성하는 예제

 

 

 

main()로 Actor 인터페이스, MovieStar 클래스 객체 실행하는 예제

1) getActionLevel()은 정적메소드라서 인터페이스명.정적메소드명()으로 사용한다.

2) MovieStar 클래스 객체를 생성할 때 객체 변수 타입은 Actor 인터페이스로 선언한다.

 

 

 

인터페이스 상수 필드 선언 및 초기화

Singer 인터페이스 생성

 

 

 

 

 

강제타입변환 - (MovieStar)ms

Actor 는 인터페이스 타입이다. 그리고 Singer 인터페이스에 singing() 메소드를 선언만 했고 구현은 하지 않았다.

실제 구현은 MovieStar 클래스에서 구현했기 때문에 singing() 메소드를 쓰려면 타입을 변환해야 하고

Actor 인터페이스는 MovieStar 클래스보다 상위 인터페이스이므로 (MovieStar) 연산자로 다운캐스팅해준다.