안녕하세요. pitang입니다.
인터페이스에 대해 모두 알아보겠습니다.
인터페이스
인터페이스는 객체의 사용 방법을 정의한 타입이다.
인터페이스의 선언은 class 키워드 대신 interface 키워드를 사용한다.
클래스에서 인터페이스를 구현하고 싶을 때는 클래스 이름 뒤에 implements 키워드를 사용한다.
인터페이스의 이름은 클래스 이름을 작성하는 방법과 동일하게 카멜 표기법을 사용한다.
클래스처럼 extends 키워드를 사용하여 인터페이스 간의 상속을 구현할 수 있다.
기본적으로 클래스가 아니기 때문에 일반 변수, 일반 메서드를 사용할 수 없다.
쉽게, 인터페이스를 사용하는 이유는 모든 클래스를 정의하지 않고 필요한 클래스만 묶어 구현하게 할 수 있다.
그러므로 다형성을 구현하는 매우 중요한 역할을 한다.
인터페이스 - 추상 메서드
메서드는 추상메서드 형식으로 선언하면 abstract를 붙이지 않더라도 자동으로 붙게 된다.
ex)
-> 모두 true가 나오게 된다.
-> 무시합니다.
자리에 앉습니다.
-> 전부 true, 그리고 spring의 길이 6이 나오게 된다.
-> true와
썰매를 끕니다.
자리에 앉습니다.
멍멍
썰매를 끕니다.
자리에 앉습니다. 가 출력됩니다.
인터페이스 - 디폴트메서드
디폴트 메서드의 사용은
default 리턴 타입 메서드명(매개변수,...) {
}
이다.
디폴트 메서드는 public 특성을 가지기 때문에 public을 생략하더라도 자동으로 붙게 된다.
또한 디폴드 메서드를 오버 라이딩할 수 있다.
ex)
인터페이스 - 정적 메서드
형태는 클래스의 정적 메서드와 완전 동일하고 정적 메서드도 public 특성을 갖기 때문에 publicd을 생략하더라도 자동적으로 붙게 된다.
ex)
인터페이스 - 상수 필드
인터페이스는 데이터를 저장할 수 없기에 저장할 인스턴스 또는 정적 필드를 선언할 수 없다. 대신 상수 필드는 선언할 수 있다.
인터페이스의 선언된 변수는 public static final을 생략하더라도 자동으로 붙게 된다. 또한 선언과 동시에 초기값을 지정해야 한다.
ex)
감사합니다.
*m1 맥북을 사용 중입니다.*
'6개월 대장정 > JAVA 개념' 카테고리의 다른 글
18일차 - 예외 처리(1) (0) | 2021.09.07 |
---|---|
18일차 - 인터페이스(2) (0) | 2021.09.07 |
16일차 - 추상클래스, static(정적), final필드 (0) | 2021.09.03 |
15일차 - 상속(타입 변환과 다형성) (0) | 2021.09.02 |
14일차 - GitHub Desktop, review(각종 사이트) (0) | 2021.09.01 |