본문 바로가기

코린이

혼공자 chapter08 인터페이스 본문

자바/혼공 학습단 10기

혼공자 chapter08 인터페이스

winsome99 2023. 7. 15. 00:45
반응형

 

08_1 인터페이스

개발 코드와 객체가 서로 통신하는 접점 역할을 한다.

인터페이스는 하나의 객체가 아니라 여러 객체들과 사용이 가능해 어떤 객체를 사용하느냐에 따라 실행 내용과 리턴값이 다를 수 있다. 따라서 개발 코드 측면에서는 코드 변경 없이 실행 내용과 리턴값을 다양화할 수 있다.

인터페이스 선언

인터페이스 선언은 class 대신 interface 키워드를 사용한다.

[public] interface 인터페이스 이름{...}

상수 필드 선언

상수 필드는 인스턴스 또는 정적 필드를 선언할 수 있다.

인터페이스에 선언된 필드는 모두 public static final 특성을 갖고 있다. public static final을 생략해도 컴파일에서 자동으로 붙는다.

[public static final] 타입 상수이름 = 값;

추상 메소드

인터페이스에 선언된 메소드는 public abstract가 생략되고 메소드 선언부만 있는 추상 메소드이다.(구현 클래스는 반드시 추상 메소드를 재정의 해야 한다.)

구현 클래스

public class 구현클래스이름 implements 인터페이스이름 {
	//인터페이스에 선언된 추상 메소드의 실체 메소드 선언
} 

다중 인터페이스 구현 클래스

public class 구현클래스이름 implements 인터페이스A, 인터페이스B {
	//인터페이스 A에 선언된 추상 메소드의 실체 메소드 선언
	//인터페이스 B에 선언된 추상 메소드의 실체 메소드 선언
} 

08_2 타입 변환과 다형성

자동 타입 변환은 인터페이스 변수를 해당 인터페이스를 구현한 클래스의 객체로 자동으로 변환하는 것을 의미한다.

다형성

상속은 같은 종류의 하위 클래스를 만드는 기술이고, 인터페이스는 사용 방법이 동일한 클래스를 만드는 기술이라는 개념상의 차이는 있지만 둘 다 구현하는 방법은 비슷하다.

강제 타입 변환

인터페이스에 대입된 구현 객체를 다시 원래 구현 클래스 타입으로 변환시킨다.

인터페이스 상속

클래스는 다중 상속을 허용하지 않지만, 인터페이스는 다중 상속을 허용해 extends 뒤에 상위 인터페이스가 올 수 있다.

반응형

'자바 > 혼공 학습단 10기' 카테고리의 다른 글

혼공자 Chapter11 API  (0) 2023.07.21
혼공자 chapter10 예외 처리  (0) 2023.07.19
혼공자 Chapter07. 상속  (0) 2023.07.14
혼공자 2주차 미션  (0) 2023.07.14
혼공자 Chapter06. 클래스  (0) 2023.07.14
Comments