열심히 끝까지
27강 추상클래스/인터페이스/내부클래스 - 인터페이스 본문
27-1 ) 인터페이스
(1) 인터페이스의 정의
인터페이스(interface)란?
: inter(사이의) + face(마주하다)의 합성어로 물체들 사이에서
상호작용 할 수 있도록 하는 매개 역할
: 클래스 - 설계도
인터페이스 - 규격
ex) 핸드폰에는 필수적으로 들어가야 할 기능
-> 그 것을 인터페이스로 만들어 놓는다면
앞으로 만들어질 폰에 다 들어가 있기 한다.
(2) 인터페이스의 문법
인터페이스의 멤버
- 상수 : final 타입 변수명 = 값;
- 추상 메서드 : abstract 리턴 타입 메서드명();
인터페이스 구현 방법
interface 인터페이스명{
필드
};
클래스로 인터페이스 구현
interface 인터페이스명{
}
class 클래스명 implements 인터페이스명{
추상 메서드 구현
}
< 실습 > Interface1
*인터페이스 주의할 점!
1. 인터페이스 내 일반 메서드 불가
2. 인터페이스 내 변수 불가(상수만 가능)
3. 인터페이스로 객체 생성 불가
4. 인터페이스 내 멤버 메서드 abstract 키워드 생략 가능
5. 인터페이스 내 멤버 변수 final 키워드 생략 가능
(3) 인터페이스의 활용
< 실습 > Interface3
여행 가이드 객체를 만들고 그 객체는 레저, 관광, 음식투어를
진행할 수 있도록 구현하기
< 실습 > interface3
TourGuide 클래스가 만약 KoreaTour 클래스가 아닌
JapanTour 클래스로 변경이 되어야 한다면?
-> 인터페이스를 사용하여 업캐스팅을 하면,
TourGuide와 KoreaTour 클래스 간 관계가 느슨해지므로
코드의 수정이 간편함
(4) 인터페이스의 다형성
1) 인터페이스의 다중구현
<구조>
interface 인터페이스1{ }
interface 인터페이스2{ }
interface 인터페이스3{ }
class 클래스명 implements 인터페이스1, 인터페이스2, 인터페이스3 ... {
// 모든 추상메서드 구현
}
<실습> Interface4
인터페이스를 사용하면 MyCellPhone 클래스가 여러 기능으로 정의된
인터페이스를 다중 구현
'멘토씨리즈 JAVA' 카테고리의 다른 글
29강 예외처리 - 예외 / 예외처리 개념 (0) | 2022.05.03 |
---|---|
28강 추상클래스/인터페이스/내부클래스 - 내부클래스 (0) | 2022.05.02 |
26강 추상클래스/인터페이스/내부클래스 - 추상 메서드와 추상클래스 (0) | 2022.04.30 |
25강 상속과 다형성 - 다형성 개념과 다형성 관련 실습 (0) | 2022.04.30 |
24강 상속과 다형성 - 상속 / 메서드 오버라이딩 (0) | 2022.04.29 |