일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 업다운 게임
- 문자열 비교
- switch-case
- 삼항(조건) 연산자
- IF else
- count_program
- var 변수
- 반복문
- 변수
- 접근제한자
- Style Sheet
- DropDown
- 배열 array
- 형변환 연산자
- 변수 기본형
- 할당 연산자
- color code
- SQLIntegrityConstraintViolationException
- 논리 연산자
- Do while
- Scanner
- decimalformat
- 간단한 연산
- 객체 배열
- 컬렉션프레임워크
- 가위바위보 게임
- 유효성 검사
- Math 함수
- 표 구현
- 관계 연산자
Archives
- Today
- Total
무룩 공부방
[Java02] 26. 인터페이스 (Interface) (Eclipse) 본문
# 인터페이스
- 상수(final)와 추상 메서드로만 멤버로 가질 수 있고 다른 어떤 요소도 사용불가
- 인터페이스 선언 키워드 : interface
- 모든 메서드가 추상 메서드이기 때문에 메서드 작성시 public abstract 생략 가능하다
- 상수 작성시 public static final도 생략 가능하다
- 인터페이스의 객체는 생성할 수 없다.
- 다른 인터페이스를 상속할 수 있다. 단, 인터페이스로 부터만 가능하다(클래스는 상속 불가)
- 여러개의 인터페이스로부터 다중 상속 가능하다
- 추상메서드는 구현부가 없기 때문에 어떤것을 상속받아도 관계 없기 때문
- 구현키워드 : implements
- 인터페이스는 상속과 구현을 동시에 할 수 있다.( default 메서드/ jdk8버전 부터 사용가능 )
- ex) default void printLogo() {}
- 멤버변수 추가 가능
- 필요한 일반 메서드도 추가 할 수 있다.
package java02_intermediate;
interface PhoneInterface {
final int TIMEOUT = 10000;
public abstract void sendCall();
void receiveCall();
default void printLogo() {
System.out.println("Samsung Phone");
}
}
interface MobilePhone extends PhoneInterface {
void sendSns();
void recevieSns();
}
interface Mp3Interface {
public void play();
public void stop();
}
class Pda {
public int calc(int x, int y) {
return x + y;
}
}
class SmartPhone extends Pda implements MobilePhone, Mp3Interface {
@Override
public void sendCall() {
System.out.println("send call");
}
@Override
public void receiveCall() {
System.out.println("receive call");
}
@Override
public void sendSns() {
System.out.println("send massage");
}
@Override
public void recevieSns() {
System.out.println("receive massage");
}
@Override
public void play() {
System.out.println("music play");
}
@Override
public void stop() {
System.out.println("music stop");
}
public void schedule() {
System.out.println("일정관리");
}
}
class SamSung implements PhoneInterface {
public void flashOn(boolean onOff) {
if(onOff) {
System.out.println("라이트 등 켜짐");
}else {
System.out.println("라이트 등 꺼짐");
}
}
@Override
public void sendCall() {
System.out.println("전화를 거는중...");
}
@Override
public void receiveCall() {
System.out.println("전화 왔어요");
}
}
public class Java26_Interface {
public static void main(String[] args) {
SamSung ss = new SamSung();
ss.printLogo();
ss.sendCall();
ss.receiveCall();
ss.flashOn(true);
SmartPhone sp = new SmartPhone();
sp.play();
}
}
'IT > Java02_Intermediate' 카테고리의 다른 글
[Java02] 28. 예외(exception) 처리 (Eclipse) (0) | 2023.10.15 |
---|---|
[Java02] 27. 인터페이스 (2) (Interface) (Eclipse) (0) | 2023.10.08 |
[Java02] 추상 클래스 응용 (2) (Abstract Class) (Eclipse) (2) | 2023.10.07 |
[Java02] 25. 추상 클래스 응용 (1) (Abstract Class) (Eclipse) (0) | 2023.10.07 |
[Java02] 24. 추상 클래스(Abstract Class) (Eclipse) (0) | 2023.10.07 |