티스토리 뷰

반응형

※개념정리

 

인터페이스의 구조는 '추상메서드+상수' 이다.

하지만 자바8부터는 인터페이스에 추상메서드 뿐 아니라

default메서드와 static메서드도 지정이 가능하다.

 

default메서드

디폴트 메서드는 인터페이스에 정의되어 있지만, 자체로 완전한 메서드이다.

따라서 인터페이스를 상속받는 클래스에 오버라이딩이 되지 않는다.

 

default메서드 구조

 

default 타입형 메서드명( ) {

return 혹은 출력문장;

}

ex) 타입형이 자료형일 경우

default double add(double i){

return i*i;

}

ex) 타입형이 없이 경우

default void add(double i){

syso(i*i);

}

 

인터페이스의 디폴트메서드 출력

 

인터페이스명 변수명 = new 상속받는클래스명( );

변수명.디폴트메서드명( );

 

ex)

Number n = new MyNum( );

syso(n.add(5.4));

 

static메서드

인터페이스의 정적메서드로 상속받는 클래스에 오버라이딩 되진 않는다.

 

static메서드 구조

public static 타입형 메서드명( ) {

}

ex) 타입형이 자료형일 경우

static double add(double i){

return i*i;

}

ex) 타입형이 없이 경우

static void add(double i){

syso(i*i);

}

 

인터페이스의 스태틱메서드 출력

인터페이스 객체 선언

변수 = 인터페이스명.메서드( );

 

ex)

Number n = new Number( ); //상속받을 클래스명이여도 상관없음

double i =Number.add(6);

syso(i); 

'Java > 개념' 카테고리의 다른 글

JAVA Exception(예외처리)  (0) 2020.05.07
JAVA 내부클래스와 익명클래스  (0) 2020.05.06
JAVA 인터페이스 개념과 예제  (0) 2020.05.06
JAVA 추상클래스와 추상메서드 (abstract)  (0) 2020.05.04
JAVA 싱글톤 패턴  (0) 2020.05.04
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함