본문 바로가기

자바(java)

인터페이스(Interface)

 - public static final 상수와 public 추상메서드로 이루어진 자원이다. (앞의 키워드들은 생략 가능)

 - 다형성, 오버라이딩 지원

 - implements: class와 interface사이에서 상속할 때

 - extends: class끼리 또는 interface끼리 상속할 때

 - 다중 상속이 가능하다.

 

public interface Inter2 { // 인터페이스의 구조
	
	public static final int a = 10;  // public static final상수
	final int B = 20;  // 상수
	
	public void me1();  // public 추상메서드
	
	public abstract void me2();  // 추상메서드
	abstract int me21();  // 추상메서드
	
	public abstract void me3();  // 추상메서드
	void me31(int a, StringBuffer sb);  // 추상메서드
}
public interface Inter3 {
	
	public abstract void k1();

}
public interface ChildInter extends Inter2, Inter3{ // 인터페이스 끼리는 extends 사용
	
}
public class ChildClass1 implements Inter2, Inter3 { // 다중상속 가능

	@Override
	public void k1() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void me1() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void me2() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public int me21() {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public void me3() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void me31(int a, StringBuffer sb) {
		// TODO Auto-generated method stub
	}
}

 

====================================================================================

public interface Command {
	
	void execute(int a, int b);

}
===============================================================
InsertCommand, InsertUICommand, SelectCommand, SelectByIdCommand,
UpdateCommand, UpdateUICommand, DeleteCommand
는 Command 인터페이스를 implements(구현)하는 클래스들이다.

===================main========================================
import kr.co.board.Command;
import kr.co.board.DeleteCommand;
import kr.co.board.InsertCommand;
import kr.co.board.InsertUICommand;
import kr.co.board.SelectByIdCommand;
import kr.co.board.SelectCommand;
import kr.co.board.UpdateCommand;
import kr.co.board.UpdateUICommand;

public class MainEx {

	public static void main(String[] args) {
		
		// 다향성
		// Command insertCommand = new InsertCommand();
		// Command insertUICommand = new InsertUICommand(); ...
		Command[] menus = {new InsertUICommand(),
				new InsertCommand(),
				new SelectCommand(),
				new SelectByIdCommand(),
				new UpdateCommand(),
				new UpdateUICommand(),
				new DeleteCommand()
		};
	}
}

 

 

 

 

 

 

 

 

 

 

 

'자바(java)' 카테고리의 다른 글

람다식(Lambda)  (0) 2023.03.10
DTO(Data Transfer Object) 클래스  (0) 2023.03.09
Final(변수, 메서드, 클래스)  (0) 2023.03.09
상속 (Inheritance)  (0) 2023.03.09
String 클래스  (0) 2023.03.07