gwooden_코린이

java_인터페이스_221129(7일차) 본문

java/7일차

java_인터페이스_221129(7일차)

gwooden22 2022. 11. 29. 17:35
728x90

인터페이스는 다중 상속이 가능

상속이라는 의미보다는 구현쪽이 맞다

 

다중상속

추상메서드

상수

default 메서드

static 메서드

 

[public] interface 인터페이스명 {

                                                  int a = 100;

                      [public static final] 자료형 상수명 = 값

                                                    int add();

                      [public abstract] 리턴타입 추상메서드이름();

 

                      [pubilc] default 리턴타입 메서드이름(매개변수) {

                                  기능구현

                       }

                      [public] static 리턴타입 메서드이름(매개변수) {

                                  기능구현

                       }

}


복합기 - (프린트, 스캔, 팩스)

 

package 인터페이스;

public class ComplexerMain {

	public static void main(String[] args) {
		
		Complexer com = new Complexer();
		
		System.out.println(Complexer.INK);
		System.out.println(Complexer.FAX_NUMBER);
		
		com.print();
		com.scan();
		com.send("010-1233-4567");
		com.receive("010-4567-7894");

	}

}
100
02-123-4567
출력 실행
스캔 실행
02-123-4567에서010-1233-4567로 FAX 전송
010-4567-7894에서02-123-4567로 FAX 수신
package 인터페이스;

public class Complexer implements Fax, Scanner, Print {

	@Override
	public void print() {
		System.out.println("출력 실행");

	}

	@Override
	public void scan() {
		System.out.println("스캔 실행");

	}

	@Override
	public void send(String tel) {
		System.out.println(FAX_NUMBER + "에서" + tel + "로 FAX 전송");

	}

	@Override
	public void receive(String tel) {
		System.out.println(tel + "에서" + FAX_NUMBER + "로 FAX 수신");

	}

}
package 인터페이스;

public interface Fax {
	
	String FAX_NUMBER = "02-123-4567";
			
	void send(String tel); //추상 메서드도 매개변수 필요시 사용
	void receive(String tel);

}
package 인터페이스;

public interface Scanner {
	
	void scan(); //추상 메서드

}
package 인터페이스;

public interface Print {
	
	int INK = 100; //상수
	
	void print(); //추상 메서드 <-- 무조건 구현시켜야됨

}
728x90

'java > 7일차' 카테고리의 다른 글

java_익명 구현 객체_221129(7일차)  (0) 2022.11.29
java_문제03_221129(7일차)  (0) 2022.11.29
java_문제02_221129(7일차)  (0) 2022.11.29
java_상속+오버라이딩_221129(7일차)  (0) 2022.11.29
java_final_221129(7일차)  (0) 2022.11.29
Comments