ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바 인프런 - 인터페이스
    자바/인프런 인강 2018. 2. 2. 13:34
    • 기본 문법

    -생성

    package 패키지명


    public interface 인터페이스명 {


    public static final int CONSTANTNAME = 10;   //상수명은 대문자료 표기


    public void 메소드명();        //추상 메소드


    }


    -사용

    package 패키지명


    public class 클래스명 implements 인터페이스명1, 인터페이스명1, ....{


    @오버라이드

    public 인터페이스1의 메소드 {

    }


    @오버라이드

    public 인터페이스2의 메소드 {

    }

    }


    • 개념

    -실제 기능은 없다. 오직 추상 메소드와 상수만 존재한다.

    -접근제한자 private은 사용할 수 없다.

    -인터페이스는 객체 타입으로만 사용된다.

    -인터페이스의 추상 메소드는 하위 클래스(객체)에서 오버라이드해서 사용한다.

    -다형성(객체의 타입이 다양함)

    -한번에 다중구현이 가능하다.

    -객체 생성시에 여러 인터페이스를 implement한 클래스를 객체 타입으로 지정하면 클래스에서 불러온 모든 인터페이스의 메소드를 사용할 수 있지만, 특정 인터페이스를 객체 타입으로 정하면 그 인터페이스의 메소드만 사용할 수 있다. (접근 제한 기능)



    • 추상 클래스와 인터페이스 


    -공톰점:

    데이터 타입 생성을 위해 사용한다.

    추상메소드를 가지고 있다.

    익명(anonymous) 클래스 - 추상 클래스의 객체를 생성하면 그 아래 익명클래스와 추상 메소드의 기능을 바로 정의해서 사용할 수 있다.


    -차이점:

    추상 클래스에는 일반 메소드와 추상 메소드 둘다 존재할 수 있지만

    인터페이스는 오직 추상 메소드와 상수만 존재할 수 있다.(일반 메소드는 에러 발생)

    '자바 > 인프런 인강' 카테고리의 다른 글

    자바 인프런 - Collections(자료구조)  (0) 2018.02.14
    자바 인프런 - 예외처리  (0) 2018.02.14
    자바 인프런 - 추상클래스  (0) 2018.02.01
    자바 인프런 - 상속  (0) 2018.01.31
    자바 인프런 - static, final  (0) 2018.01.31