728x90
반응형
#인터페이스(interface)
interface는 클래스를 만들기 전에 앞으로 이런 기능들을 만들겠다 라고 협의해놓은 명세서와 같습니다.
인터페이스는 그 자체가 객체를 의미하지 않으며, 어떤 객체가 할 수 있는 기능 자체를 의미하고 그 기능을 하나의 스펙으로 모은 것에 불과합니다. 따라서, 인터페이스가 실제 기능을 가지는 것은 아닙니다.
인터페이스에서는 일반 필드를 갖지 못합니다. 일반 필드로 작성하면 JVM이 static final 키워드를 추가합니다.
예를 들면) 타회사에서 class를 만들고 그 class 를 사용하기 위해서 내가 맞는 기능을 추가해주면 된다
● 특징
- 인터페이스의 상수는 private으로 만들 수 없습니다.
- 인터페이스에는 추상 메서드만 존재합니다. 예외인 경우도 있음
- 인터페이스는 객체의 타입으로만 사용됩니다.
*인터페이스 적용*
- implements 키워드를 이용하여 구현합니다.
- 다중 적용이 가능합니다.
- 추상 메서드의 구현이 반드시 필요합니다.
( 단, 추상 메서드를 구현하지 않으면 해당 클래스는 추상 클래스로 사용됩니다. )
예시 1)
* interface 상속과 다르게 다중구현이 가능하다.
728x90
반응형
'🎨 Programming > JAVA' 카테고리의 다른 글
[JAVA] 20. Object 클래스 / 제네릭(generic) (0) | 2020.06.29 |
---|---|
[JAVA] 19. 래퍼클래스(Wrapper Class) (0) | 2020.06.29 |
[JAVA] 17. 추상클래스(abstract) (0) | 2020.06.29 |
[JAVA] 16. 다형성 & instanceOf 연산자 (0) | 2020.06.28 |
[JAVA] 15. 패키지(package) & 접근제어자 (0) | 2020.06.28 |