티스토리 뷰
728x90
어떤 클래스가 인터페이스를 사용한다면, 그 클래스는 반드시 그 인터페이스 매소드를 사용해야한다..!!
interface I {
public void z();
}
class A implements I{
public void z(){}
}
특정 클래스(classA) 를 특정 인터페이스(interface I)와 결합시키면
인터페이스 안에있는 매소드(z())를 반드시 구현하도록 강제한다.
- 인터페이스 : 일 시키는 애..
-> classA는 interfaceI를 구현한다..
그럼 인터페이스는 언제 사용하는 것인가?
여러 개발자들이 함께 참여하는 프로젝트일경우 구현을 강제하여
약속한대로 개발이 가능하도록 돕는 역할을 한다.
인터페이스에서 선언한 변수는 모두 컴파일 과정에서 상수로 자동 변환됨
인터페이스에서 선언한 메소드는 모두 추상메소드로 변환됩니다.
Calculator에서
add(); 와 substract(); 만 구현했기때문에 (아직 완전하지 않음) 추상메소드이다.
그래서 CompleteCalc는 인스턴스 생성이 가능하다. ( Calculator는 추상메소드이기 때문에 인스턴스 생성이 불가능)
*예외적으로
default 메소드를 선언하면 완성된 메소드를 사용 할 수 있다. ( 자바 최신버전 한정, 거의 사용하진 않고 알아만 두자)
-> 인터페이스 implements 는 점선으로 표시합니다.
그리고 interface 간 상속도 가능합니다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- SQLD
- tkgiddl
- 모바일앱만들기
- 스프링부트
- 프레임워크 라이브러리 차이점
- map
- 추상클레스
- 스프링
- select사용법
- SQL
- 등산로API
- SET연산자
- 컬렉션프레임워크
- 라이브러리란
- 앱만들기
- 정규화
- 하이브리드앱만들기
- 스프링개념
- 등산앱개발
- 등산웹개발
- 프레임워크
- Java
- static
- 모바일웹만들기
- 리츠란
- Spring프로젝트
- JAVA프로젝트
- 등산어플
- 프레임워크란
- 쉬운개념
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함