ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [INTERFACE] INTERFACE
    Java-diary 2020. 2. 9. 23:43

    정의

    • 동일한 목적 하에 동일한 기능을 수행하게끔 강제하는 것
    • 자바의 다형성을 극대화하여 개발코드 수정을 줄이고 프로그램 유지보수성을 높이고자 사용

    *다중 상속

    하위 클래스 하나가 상위 클래스 여러개와 연결되어 상위 클래스들의 기능을 하위 클래스에서 사용할 수 있도록

    만드는 것

     

    특징

    • 상수와 abstracts method로만 이루어져 있다. -method body가 없다.-
    • method는 public abstracts여야만 한다.
    • 멤버변수는 public static final이여야만 한다.
    • interface class 선언 시 public으로 선언하는 것이 일반적이다.
    • interface는 interface로만 상속받을 수 있으며 일반 class와 달리 다중 상속이 가능하다.

    *상수와 abstracts method

    상수 인터페이스에서 값을 정해주니 제공하는 값만 참조할 것
    추상 메소드 가이드만 줄테니 추상 메소드를 오버라이딩해서 구현할 것
    디폴트 메소드 인터페이스에서 기본적으로 제공해주지만 맘에 안들면 각자 구현할 것 (선택적)
    정적메소드 인터페이스에서 제공해주는 것으로 무조건 사용할 것

    interface
    Interface를 implements한 class
    출력 :정적 메소드는 interface에서 불러온다.

     

    출력 값

     

    특정 Class의 Member 필드로 Interface 사용하기

     

    Interface를 구현한 자식 class로 Interface를 instance한다.

    설명
    interface를 멤버필드로 사용할 class
    interface
    interface 구현 class
    interface 구현 class 2
    interface를 knife로 초기화 하고 출력
    interface를 rifle로 초기화하고 출력
    knife
    rifle

    'Java-diary' 카테고리의 다른 글

    [INTERFACE] Runnable Interface  (0) 2020.03.15
    [완성도-1단계]JAVA/JVM  (0) 2020.02.04

    댓글

Designed by Tistory.