Categories: Java 언어Korean

Java 총 정리[75. interface]

interface

이전 걸음에서 abstract class에 대해서 공부를 했습니다. 추상화 된 Method를 가질 수 있는 class이고 나머지는 일반 class와 같다고 했습니다. 하지만 추상화 된 Method가 있으면 스스로 객체를 만들 수 없습니다. 이렇게 abstract class를 공부를 했는데 이번 시간에는 마지막으로 추상화 Method를 가질 수 있는 것을 배워보겠습니다.

추상화 Method를 가질 수 있는 마지막인 interface입니다. interface는 abstract class와 다르게 class라는 단어가 들어가지 않는 것을 생각을 가지고 있으면 공부를 하실 때 도움이 될 수 있습니다. 이번 걸음에서 interface를 함께 공부를 해보겠습니다.

interface 무엇 인지와 interface 관련 예제를 이번 걸음에서 공부를 하도록 하겠습니다. 이번 걸음을 통해서 interface까지 공부를 하면 기초적인 추상화에 대해서 알 수가 있습니다. 기초가 가장 중요하기 때문에 이번 걸음을 통해서 interface를 확실히 이해를 하실 수 있습니다.

interface 란?

interface는 무조건 추상화 된 Method를 가지고 있습니다. 그리고 추가적으로 상수를 가질 수 있습니다. 이런 특성을 가진 interface는 무조건 자식이 될 수 없고 부모로만 사용을 해야 합니다. 그리고 Overriding을 필수적으로 해줘야 합니다.

interface 예제

    
interface A{
    //상수
    final int b = 20;
    void abc();
    int def(int a);
}

class C implements A{
    void abc(){ // 메소드 오버라이딩
    }
    int def(int a){ // 메소드 오버라이딩
         return 5;
    }
}

public class Test{
   public static void main(String[] args){
      A a = new A(); // X interface 안됨
      A a1 = new C();// 가능
      B C = new C(); // 가능
   }
}

    

위 예제 소스를 보면 interface는 무조건 자식은 Overriding을 해서 재 정의를 무조건 해야 합니다. 상속을 할 때는 extends가 아니라 implements를 사용을 합니다. interface는 모든 것이 추상화이기 때문에 Java에서 유일하게 다중 상속이 가능합니다. 이 부분은 추후에 더 이야기를 하겠습니다. 

Dolphin

Recent Posts

Java 총정리[97. Java GUI]

Java GUI Java GUI에 대해서 이번 걸음에서 배움으로써 GUI에 전반적인 지식과 Java GUI를 구현하는 방법…

5개월 ago

Java 총정리[96. Java TCP 통신 프로그램 구현]

Java TCP 통신 프로그램 구현 Java TCP 통신 프로그램 구현을 위해서 이전 걸음에서 쓰레드에 대한…

5개월 ago

Java 총정리[95.쓰레드 통신]

쓰레드 통신 이전 걸음에서 쓰레드의 임계영역에 대해서 같이 공부를 했습니다. 동기화에 대한 개념을 계속적으로 하고…

5개월 ago

Java 총 정리[94. 쓰레드 임계영역]

쓰레드 임계영역 이전 걸음에서 쓰레드의 동기화에 대해서 같이 공부를 했습니다. 동기화에 대한 전반적인 내용을 공부하고…

6개월 ago

Java 총 정리[93. 쓰레드 동기화]

쓰레드 동기화 이전 걸음에서 계속 쓰레드에 대해서 공부를 하고 있습니다. 쓰레드는 상당히 중요한 개념이기 때문에…

6개월 ago

Java 총 정리[92. 쓰레드 join()]

쓰레드 join() 이전 걸음에서 쓰레드의 전반적인 실행 흐름에 대해서 공부를 했습니다. 이제 배운 실행 흐름…

6개월 ago

This website uses cookies.