- 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 |