-
[JAVA] 인터페이스(Interface)란?Java 2021. 12. 28. 02:47728x90
인터페이스
앞으로 만들 클래스의 메소드 규격을 선언해주는 것
- 클래스의 메소드 형식을 미리 선언하고, 인터페이스를 이용해(implements) 만드는 클래스는 인터페이스의 메소드 를 정의해야 함.
- 특정 클래스에 어떠한 기능이 있을지 미리 파악 가능.
- 클래스의 기능이 너무 많고, 구획화를 할 필요가 있을 때 인터페이스 이용.
- 협업을 할 때, 서로 공통적으로 적용해야 할 규격이 있을 때 이용.
인터페이스의 규칙
1. 인터페이스의 이름은 클래스와 마찬가지로 보통 첫 글자를 대문자로 만들며,
"~를 할 수 있는" 것들의 규격이라는 의미로 형용사의 이름을 붙이기도 함.
2. 클래스를 상속할 때는 하나의 클래스로부터 상속받을 수 있는 것과 대조적으로 인터페이스는 여러 개를 모두 적용할 수 있음. (주의: 적용한 인터페이스들의 메소드를 모두 구현해야 함.)
3. 인터페이스에는 초기화 된 변수를 정의할 수 있고, 인터페이스를 적용한 클래스는 변수를 재할당 할 수 없음.각각의 인터페이스 특성에 맞춰 구현한 클래스와 객체를 생성한 예시는 다음과 같다.
interface Calculable { double PI = 3.14; int sum(int v1, int v2); } interface Printable { void print(); } class RealCal implements Calculable, Printable { public int sum(int v1, int v2) { return v1 + v2; } public void print() { System.out.println("this is RealCal!!!"); } } class AdvancedPrint implements Printable { public void print() { System.out.println("This is RealCal!!!"); } } public class interfaceApp { public static void main(String[] args) { Printable r = new RealCal(); Printable r2 = new AdvancedPrint(); r.print(); r2.print(); } }
728x90'Java' 카테고리의 다른 글
[JAVA] Exception의 개념 (0) 2021.12.27