인터페이스 : Interface

·2024년 4월 4일
0

🤍 01. 인터페이스 정의

추상 클래스와 마찬가지로 추상된 틀을 만들어 개발의 도움을 주는 것

🤍 02. 인터페이스 특징

1) 클래스가 아니므로 class 키워드 대신 interface 사용
2) 추상메서드와 상수만 가진다
->public abstract가 붙은 추상메서드로 취급 (생략 가능)
->public static final이 붙은 상수로 취급 (생략 가능)
3) 객체 생성 불가능
-> 단, 참조타입으로는 가능
4) 코드의 통일성이 향상됨
5) 다중 구현 가능

그렇다면 도대체 이게 추상클래스와 다른 게 뭘까?

🤍 03. 추상클래스와의 차이점

추상 클래스 : 일반 메서드와 변수 가질 수 있다. / 다중 상속 불가능
인터페이스 : 추상 메서드와 상수만 가진다 / 다중 구현 가능

즉, 인터페이스는 여러 클래스에서 공통으로 사용하는 기능을 정의하는 데 사용되며, 추상 클래스는 클래스들 간의 공통된 특성을 정의하는 데 사용된다.

굳이 굳이 추상클래스가 있음에도 인터페이스를 사용하는 이유는 '다중 구현' 때문인 경우가 많다.

추상클래스를 상속받게 되면 다른 클래스를 상속 받을 수 없는 경우가 존재한다. 이런 경우를 해결하고자 인터페이스를 사용한다.

🤍 04. 인터페이스의 장점

  1. 구현의 강제성 부여 : 인터페이스를 구현하는 서브크래스에서 메서드 정의 필수
  2. 모듈의 교체 용이 : 특정 서브클래스가 추가되더라도 공통 코드 변경 필요없이 사용 가능
  3. 상속 관계가 없는 객체끼리 관계 부여 가능 : 다형성 활용 가능
  4. 개발 기간 단축 : 모듈 간 독립적 프로그래밍 가능

🤍 05. 인터페이스 예시

💗 1) 모듈의 교체 용이

인터페이스 및 서브클래스 정의

나중에 수정할게용 .. 급한 것부터 해야즤

profile
~*

0개의 댓글