인터페이스(interface)는 얼핏 보기에는 추상(Abstract) 클래스와 매우 흡사한 개념으로 느껴질 수 있다.
인터페이스는 숙력된 자바 개발자들에게 아주 선호되는 설계 기능이면서 자바에서 다중 상속을 구현하게 해주는 고급 기술이기도 합니다. 추상클래스는 추상 메소드 외에 멘버변수나 일반 메소드를 가질 수 있지만 인터페이스에서는 반드시 사전에 정의된 추상 메소드와 상수만을 가질 수 있다는 특징이 있습니다.
인터페이스는 팀 프로젝트의 동시 작업에 유리하고 일반적으로 추상보다 요구되는 설계의 기준이 높아서 더 체계적이라는 평을 받습니다.
추상화의 정도가 높다.
인터페이스 구현
public interface Dog { // public class 대신에 public interface로 해주면 된다.
abstract void cring(); //interface에서는 일반 메쏘드를 넣을 수 없음
public void show();
}
추상 클래스보다 체계적으로 코드를 작성할 수 있는 장점이 있다.
인터페이스 적용
public class Main implements Dog{
public static void main(String[] args) {
Main main = new Main();
main.cring();
main.show();
}
@Override
public void cring() {
System.out.println("월! 월!");
}
@Override
public void show() {
System.out.println("Hello World!");
}
implements 를 상속받아 사용하였다.
interface를 사용하면 다중 상속이 가능하다.
출처
반응형
'Language' 카테고리의 다른 글
[Java] 상속 (0) | 2023.01.09 |
---|---|
[Java] Final(최종) 이해 (0) | 2023.01.09 |
[Java] 다차원 배열 (0) | 2023.01.09 |
[복습용] Java 조건문 & 반복문 (0) | 2023.01.08 |
Java 메인메소드 public static void main(String[] args) 이해하기 (1) | 2023.01.05 |
댓글