hihihiih
39
2021-05-03 18:13:39
6
278

(자바) 언제 추상 클래스를 사용하고, 언제 인터페이스를 사용하시나요?


자바 8에 디폴트 메서드가 추가됨에 따라 추상클래스와 인터페이스의 차이가 모호해졌다고 생각합니다.


차이를 정리하자면 아래와 같은데요.


추상클래스는 non-static 과 non-final 필드 및 public, private, protected 메소드를 사용 할 수 있다.
인터페이스는 public, static, final 을 상속할 수 있고 모든 상속 가능한 메소드는 public 이다. 


이런 모호함 속에서 어떤 기준으로 추상 클래스와 인터페이스를 사용할지 결정해야하나요? 선배님들은 어떻게 하고 계신가요?









0
  • 답변 6

  • 컴포지트
    2k
    2021-05-03 18:16:08

    인터페이스: 약속만 필요할때

    추상클래스: 기본 기능을 제공하지만 서로 다른 최종 기능을 사용해야 할 때

  • hihihiih
    39
    2021-05-03 18:18:33 작성 2021-05-03 18:18:49 수정됨

    컴포지트

    인터페이스의 디폴트 메서드로 기본 기능을 제공하게 하면 추상 클래스를 대체할 수 있지 않나요?

  • 굿모닝
    127
    2021-05-03 18:24:48

    갯수

  • hihihiih
    39
    2021-05-03 18:27:05

    @굿모닝 

    무슨 갯수요?

  • 컴포지트
    2k
    2021-05-04 10:50:21
    인터페이스는 다중 상속이 가능하나, 추상 클래스는 안 됩니다.
  • 굿모닝
    127
    2021-05-04 13:13:51
    상속 갯수말한거였어요 
  • 로그인을 하시면 답변을 등록할 수 있습니다.