CODEDRAGON ㆍDevelopment/Java
Java - 인터페이스 선언
· 인터페이스 내에는 상수 또는 추상 메서드들만 정의가 가능합니다.
· 인터페이스를 사용하기 위해서는 일반 클래스에서 구현(implements)을 해야 합니다.
· 일반 클래스에서 "implements"라는 예약어로 특정 인터페이스를 구현하겠다고 명시해야 합니다
· 구현을 명시하게 되면 명시한 인터페이스가 가지는 추상 메서드들은 구현 받은 클래스에서 하나도 빠짐없이 Overriding(재정의)해야 합니다.
· 인터페이스의 모든 필드는 public static final이어야 하며, 모든 메소드는 public abstract이어야 합니다. 하지만 생략할 수도 있습니다. 이렇게 생략된 제한자는 컴파일 시 자바 컴파일러가 자동으로 추가해 줍니다.
[접근제한] interface [인터페이스명] {
public static final 상수;
public abstract 추상메서드;
} |
인터페이스의 기본 구성과 구현
인터페이스는 추상 클래스와 마찬가지로 자신이 직접 인스턴스를 생성할 수는 없습니다.
따라서 인터페이스가 포함하고 있는 추상 메소드를 구현해 줄 클래스를 작성해야만 합니다.
class 클래스이름 implements 인터페이스이름 {
} |
인터페이스 정의 및 사용 단계
단계 |
설명 |
TODO 1 |
인터페이스 정의 |
TODO 2 |
class에 implements로 인터페이스를 구현하고 인터페이스 추상 메소드 구체화 |
TODO 3 |
class의 객체 생성 |
TODO 4 |
객체를 통해 메소드 호출 |
//TODO 1: 인터페이스 정의(인터페이스 선언)
interface InterfaceTest {
//상수 또는 추상메서드만 정의 가능
static final int A = 100;
//abstract예약어는 생략 가능!
abstract int getA();
}
//TODO 2: class에 implements구현하고 인터페이스 추상 메소드 구체화
//implements라는 예약어로 인터페이스 구현
public class InterEx05 implements InterfaceTest{
//추상메서드 재정의
@Override
public int getA(){
return A;
}
public static void main(String[] args) {
//TODO 3: class의 객체 생성
InterEx05 itex1 = new InterEx05();
//TODO 4: 객체를 통해 메소드 호출
System.out.println("getA(): "+itex1.getA());
}
} |
'Development > Java' 카테고리의 다른 글
OpenJDK 자바 Java 개발환경 구축 - AdoptOpenJDK (0) | 2021.02.22 |
---|---|
AdoptOpenJDK - OpenJDK (Java) 바이너리 (0) | 2021.02.22 |
Java Language and Virtual Machine Specifications (0) | 2020.11.23 |
JPA(Java Persistent API) (0) | 2020.10.27 |
힙 영역 (Heap) (0) | 2020.10.21 |