sugenius

Abstract VS Interface 그리고 DI(Dependency Injection) 종속성 주입 본문

쓸모있는 정보들, by sugenius

Abstract VS Interface 그리고 DI(Dependency Injection) 종속성 주입

sugeniusk 2021. 3. 22. 23:19

문법의 차이와, 사용 이유의 차이에 대해 이해한다. 

 

Abstract ⊂ 클래스 

            ~> override 재정의. new X (인스턴스화 X) 

 

abstract class A {

 ... 정의 &

 ... 구제적 로직 상태 o 

}

 

class Aa extends A {

 ...() : 구현

 ...

}

 

강제 상속 -> 하나만 가능! override 해야만 o 

(private X 재정의해야 하니까. )

 

클래스 일뿐 ... 

 

Minimum 일부 & 기본. Base. 

공통 구현. (기본 클래스) 

 


Interface 

           ~> 인스턴스화. New X △

                개수 ∞ 다중상속 O

interface I {

 ... 정의 & 

     로직, 상태 X

}

 

class B inplement I {

          extends I 

  ...구현 

}

 

특정 메소드가 반드시 존재하도록. 하위클래스가 반드시 메서드 구현해야. 

(≠ 샹속 : 상위 클래스 기능 -> 하위) 

인터페이스 멤버는 반드시 public. 상속도o 

 

+ Plus 진짜 선언만. 추상멤버만. 구체적 로직, 상태 불가 . 필드 X 


따라서, 

- 추상 클래스는 상속을 받아 기능을 확장하는데 중점

- 인터페이스는 설계로, 규칙을 정하는데 중점

 

 

DI 종속성 주입 

... 작성중 

'쓸모있는 정보들, by sugenius' 카테고리의 다른 글

Public, Private , Protected ?  (0) 2021.03.28