[JAVA]/[혼공자]

[혼공자] 인터페이스 요약본

북방바다코끼리표범 2023. 10. 2. 11:10

복습

https://shins99.tistory.com/92

 

[혼공자] 상속 요약본

복습 https://shins99.tistory.com/91 [혼공자] 클래스 요약본 복습 https://shins99.tistory.com/90 [혼공자] 참조타입 요약본 복습 https://shins99.tistory.com/89 [혼공자] 조건문과 반복문 요약본 복습 https://shins99.tistory

shins99.tistory.com


인터페이스

- 객체의 사용방법을 정의, 인터페이스는 추상클래스와 유사하며 모든 속성은 상수이며, 모든 함수는 추상함수임.

- 인터페이스는 부모로 사용되고, 구현된 클래스는 자식클래스임,  ( 다형성을 적용할 있음)

 

l  인터페이스 : 구현 객체의 사용 방법을 정의한 타입이며, 다른 개발 코드와 구현 객체와 서로 통신하는 접점 역활을

  (다른 개발 코드가 인터페이스의 함수를 호출하면 인터페이스는 객체의 재정의된(구현된) 함수를 호출해 줌)

l  상수 속성 : 인터페이스는 기본적으로 속성이 공유상수로(상수) 이루어져 있음 - public static final 생략됨

                    관례적으로 모두 대문자로 작성되며, 선언 초기값 대입

l   추상 함수 : 인터페이스에 선언된 함수는 public abstract 생략되고 함수 선언부만 있는 추상 함수임.

                     구현 클래스는 반드시 추상 함수를 재정의해야

l   implements : 구현 클래스는 어떤 인터페이스로 사용 가능한  기술하기 위해 클래스 선언 implements 키워드사용

l   인터페이스 사용 : 구현된 클래스(자식클래스) 인터페이스로(부모) 선언된 변수에 저장될 있음( 다형성 이용)
                           ex) 부모인터페이스 a = new 구현클래스();

 

속성(필드) 다형성

- 기본 자료형에 자동타입변환/강제 타입변환이 있듯이, 인터페이스에도 자동타입변환/강제타입변환이 있음

   이것을 이용해 다형성을 구현함

 

l  자동 타입 변환 : 구현 객체가 인터페이스 변수에 대입되는 (저장되는 )

l    다형성 : 상속은 같은 종류의 하위 클래스를 만드는 기술

|   인터페이스는 사용 방법이 동일한(함수가 동일한) 클래스를 만드는 기술.
     
다형성을 구현하는 방법(함수재정의 + 타입변환) 똑같음

l   강제 타입 변환 : 인터페이스에 저장된 구현 객체를 다시 원래 구현 클래스 타입으로 변환하는

l    instanceof : 강제 타입 변환을 하기 전에 변환이 가능한지 조사할 사용

l    인터페이스에(부모클래스) 구현 객체가(자식클래스) 있는지 조사