java 221111

John·2022년 11월 11일
0

java

목록 보기
13/20
post-thumbnail

interface 특

클래스보다 인터페이스가 좋은이유

  • 클래스로 상속을 이용하면 불필요한 함수들도 같이 상속받게됨
  • 다중상속을 활용, 필요기능만 삽입가능
  • 불필요한 더미생성 안해도됨
  • 업무 효율성을 기할수있음

interface간 의 상속과 default interface

interface Printable {
   void print(String doc);
}
//인터페이스간 상속도 익스텐드다
interface ColorPrintable extends Printable {
   void printCMYK(String doc);
}

인터페이스간의 상속을 이용해 기존 것을 고칠필요없이 드라이버의 표준도 갱신 시킬수있다.
interface Printable 를 상속한 클래스를 수정할필요가 없어지는것이다

그러나...함수를 추가할때마다 모든 인터페이스에
pYK(String doc); 문 을 추가해야할것이다.

default

새로운 인터페이스를 만들지 않고 기존에 default 를 추가한다

interface Printable { // MS가 정의하고 제공한 인터페이스
    public void print(String doc);
    default void printCMYK(String doc){
        System.out.println("푸린트");
    }
}
class SPrinterDriver implements Printable {
    @Override
    public void print(String doc) {
        System.out.println("흑백 지원");
        System.out.println(doc);
    }
    @Override
    public void printCMYK(String doc){
        System.out.println("컬러 지원");    
}

defauult 로 추가할 경우 메소드를 인터페이스에서 구현할수있다.
기존, interface 에 추가된 모든 내용을 구현해야하던 것과 달리
이것으로 상속받을지 안할지 선택할수 있게된다.

예외처리

  • try
  • catch
  • finaly
  • throws
profile
hello there

0개의 댓글