-
[Java] 자바 인터페이스 사용프로그래밍 언어/Java 2022. 2. 10. 10:30
자바에서 인터페이스(interface)는 하위 클래스에서 메소드 구현을 강제하도록 한다. 하위 클래스가 가지는 기능(Methos)을 정의하고 있다.
단순한 덧셈, 뺄셈 메소드를 인터페이스로 구현한다.
- 인터페이스 선언
interface Calculator { int calculate(int a, int b); }
- 하위 클래스 구현
- implements 키워드로 인터페이스를 상속받아서 구현한다.
class Plus implements Calculator { public int calculate(int a, int b) { return a + b; } } class Minus implements Calculator { public int calculate(int a, int b) { return a - b; } }
- 인터페이스 관리 클래스 구현
- 하나의 클래스 명으로 Plus, Minus 클래스를 생성할 수 있도록 관리 클래스를 생성한다. => 다형성
class Calc { Calculator c; Calc(Calculator c) { this.c = c; } public int calculate(int x, int y) { return c.calculate(x, y); } }
- 메인 클래스
- Calc 라는 하나의 클래스 명으로 Plus와 Minus 객체를 인스턴스화 할 수 있다.
- 같은 calculate() 메소드 호출이지만 생성된 객체에 따라서 덧셈이 호출될 수 있고 뺄셈이 호출될 수 있다. => 인터페이스 메소드 구현(오버라이드)
public class interface02 { public static void main(String[] args) { Calc c = new Calc(new Plus()); // new Minus() int num = c.calculate(10, 20); System.out.println(num); } }
'프로그래밍 언어 > Java' 카테고리의 다른 글
[Java] 자바 예외 처리 - 예외 떠넘기기(throws) (0) 2022.02.10 [Java] 자바 예외 처리(try-catch문) (0) 2022.02.10 [Java] 자바 여러 타입을 가지는 배열 만들기 (0) 2022.02.10 [Java] 자바 문자열 비교 (0) 2022.02.10 [Java] 익명클래스 (0) 2022.02.10