본문 바로가기
백엔드개발자/JAVA: JAVA TPC 강의

인터페이스

by 보혀니 2021. 10. 19.

 

인터페이스의 활용

( 100퍼센트 다형성 보장 )

  => 추상메서드만 가능, 구현된 메서드를 가질 수 없다.

 

서로 기능이 다른 클래스일 때 인터페이스 씀.

기능이 다르니 추상클래스로 묶을 수가 없다.

( 추상클래스에는 구현된 공통메서드가 있기 때문 )

 

추상클래스 : abstract 를 extends

인터페이스 : interface 를 implements 

 

 

추상클래스와 인터페이스의 공통점과 차이점

공통점

다형성 보장을 위해서 등장

객체를 생성할 수 없다. (추상메서드 때문에 불완전한 클래스야)

하위클래스에 의해 구현되어야 한다. (override, 재정의 필수)

부모(상위클래스)의 역할로 사용한다.

  (upcasting으로 객체를 생성함)

추상메서드를 가진다.

 

차이점

abstract class (추상클래스)

서로 기능이 비슷한 클래스의 공통부분을 묶을 때 사용

구현메서드와 추상메서드를 함께 가질 수 있다.

interface (인터페이스)

서로 기능이 다른 클래스의 공통부분을 묶을 때 사용

추상메서드'만' 가질 수 있다.

 ㄴ 자바 1.8부터는 바뀜, 더 알아볼 것

다중상속 형태를 지원한다.

final static 멤버변수를 가질 수 있다. 

 

 

 

 

 

'백엔드개발자 > JAVA: JAVA TPC 강의' 카테고리의 다른 글

API를 이해해보기  (0) 2021.10.20
String은 객체라구욧  (0) 2021.10.19
추상클래스  (0) 2021.10.16
다형성 실습  (0) 2021.10.16
다형성, 다형성 활용  (0) 2021.10.15