foxpacking

Programming Lessons

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메인사진

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

About Author

Leave a comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You may also like

Korean Programming 기초

IT 개발자 VS 프로축구선수 비교?

IT 개발자와 프로축구선수의 같은 점과 다른 점? 프로그래밍 공부를 하시면서 개발자로 취업을 하려고 하는데 과연 취업을 할 수 있을까? IT
Korean 클라우드

AWS 로그인 불가능, AWS고객 센터 이메일 문의 결과는?

AWS 고객센터 이메일 문의 솔직후기 AWS를 사용하기 위해 로그인을 하는 경우 이메일로 코드 번호를 보내지만 이메일로 받을 수 없는 상황이거나