기록하는 개발자

자바 #2 인터페이스 본문

JAVA

자바 #2 인터페이스

밍맹030 2020. 1. 4. 21:05
728x90

인터페이스

-클래스가 구현해야 할 메소드들이 선언되는 추상형

-interface 키워드로 선언

-implements로 상속

-필드(멤버 변수)선언 불가능

 

정해진 메소드 사용을 강제하겠다 즉, 정해진 메소드를 통한 표준화 방식 -->인터페이스

 

#구성 요소

-상수 : public만 허용 / public static final 생략

-추상 메소드 : public abstract 생략 가능

-default 메소드 : 인터페이스에 코드가 작성된 메소드

-public 접근 지정만 허용, 생략 가능 / 인터페이스를 구현하는 클래스에 자동 상속

-static 메소드 : public, private 모두 지정 가능, 생략하면 public

 

#특징

-인터페이스의 객체 생성 불가능 ex) new PhoneInterface(); -->( x )

-인터페이스 타입의 레퍼런스 변수는 선언 가능 ex)PhoneInterface galaxy

-서브 클래스는 반드시 상속 받는 추상 메소드 모두 구현

 

-인터페이스 끼리의 상속 -->extends 사용

Ex) interface MobilePhoneInterface extends PhoneInterface

-다중 상속 가능

Ex) interface MusicPhoneInterface extends MobilePhoneInterface, MP3Interface

 

#목적

-클래스들이 상속 받는 기능을 서로 다르게 구현할 수 있도록 하는 클래스의 다형성 실현 도구

 

*추상 클래스와 인터페이스의 비교*

 

 유사점

-객체를 생성할 수 없고, 상속을 위한 슈퍼 클래스로만 사용

-클래스의 다형성을 실현하기 위한 목적

 

 

728x90

'JAVA' 카테고리의 다른 글

자바 #6 이벤트 처리  (0) 2020.01.05
자바 #5 JAVA GUI  (0) 2020.01.05
자바 #4 컬렉션  (0) 2020.01.05
자바 #3 모듈과 패키지  (0) 2020.01.04
자바 #1 상속  (0) 2020.01.04