인터페이스가 가지고 있는 객체 지향의 특징
2023. 10. 21. 01:10ㆍ백엔드/JAVA
인터페이스
- 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 매개 역할까지 담당하는 일종의 추상 클래스를 의미
- 자바의 인터페이스는 추상 메서드와 상수로만 이루어져있음
- interface 키워드를 통해 선언, implements 키워드를 통해 일반 클래스에서 인터페이스를 구현
예시 코드
interface 인터페이스이름 {
// 모든 필드는 public static final 이어야 하며, 생략 가능.
public static final 타입 상수이름 = 값;
// 모든 메서드는 public abstract 이어야 하며, 생략 가능
public abstract 타입 메서드이름(매개변수목록);
void resetGame();
}
// 클래스에서 인터페이스를 상속하는 코드
public 클래스명 implements 인터페이스이름 {
}
// 인터페이스 다중 상속
interface SkillA {
}
interface SkillB {
}
// 인터페이스에서 다른 인터페이스를 다중 상속
public interface Skills extends SkillA, SkillB {
}
인터페이스가 가진 객체지향의 특징
- 캡슐화
- 모든 필드는 public static final 이어야 하고, 모든 메서드는 public abstract 이어야한다. - 추상화
- 스스로 인스턴스를 생성할 수 없고, 다른 클래스의 기본이 되는 틀을 제공하고, 다른 클래스 사이의 중간 매개 역할을 한다.
- 클래스의 설계 또는 표준화를 유도 할 수 있다. - 다형성
- 매개변수에 입력된 값을 통하여 다른 값을 리턴할 수 있다. - 상속성
- extends 를 이용하여 다른 인터페이스를 상속 받을 수 있고, 다중 상속도 가능하다.
'백엔드 > JAVA' 카테고리의 다른 글
JVM 그리고 코드를 실행하는 과정에 대하여 (0) | 2024.02.03 |
---|---|
멀티모듈 적용하기 (2) | 2024.01.18 |
repeat() : 문자열 반복 (0) | 2023.12.02 |
오버라이딩을 구현할 때 @Override 어노테이션을 사용하는 이유 (1) | 2023.10.24 |
객체 지향의 4가지 특징 (1) | 2023.10.20 |