|
|
|
|
C# 프로그래밍(인터페이스 추상 클래스)
추상화는 '추상 클래스'나 '인터페이스'로 달성 가능.
추상 클래스는 구현이다.
추상 클래스는 인터페이스와 클래스 중간에 있지만
추상 클래스
인터페이스와 추상 클래스 비교
인터페이스와 추상 클래스는 서로 비슷한 듯 다른 기능이다.
추상 클래스는 IS-A"~이다".
|
|
|
|
특정 세부 정보 숨기고 사용자에게 필수 정보만 표시.
추상화는 '추상 클래스'나 '인터페이스'로 달성 가능.
abstrac t 키워드: 클래스와 메소드에 사용되는 비접근한 정자.
추상 클래스(Abstractclass)
추상 클래스에서만 사용 가능하며, 본문이 없음.
추상 클래스는 구현이다.
추상 클래스는 인터페이스와 클래스 중간에 있지만
사실은 추상 클래스는 클래스에 더 가깝습니다.
인터페이스에서는 모든 메소드가 public으로 선언되는 반면
클래스에서는 한정자를 명시하지 않으면 모든 메소드가 private으로 선언됩니다.
다시 말해, 추상 클래스를 상속하는 클래스들이 반드시 이 메서드를 갖고 있을 거라는 "약속"인 것이다.
추상 클래스
Derived.A bstrac tMethodA()
Interface인터페이스 이름
클래스와와 비슷해 보이지만, 메소드 이벤트 인 덱서 프로퍼티만 가질 수 있다는 차이가 있습니다.
인터페이스는 접근 제한한 정자를 사용할 수 없고 모든 것이 public으로 선언됩니다.
인터페이스를 상속받는 클래스의 인스턴스를 만드는 것이 가능합니다.)
인터페이스에서는 필드를 포함할 수 없습니다.
인터페이스는 다른 인터페이스를 상속하거나 클래스에서 인터페이스 하나를 차례대로 상속할 수 있습니다.
형식비교와 형변환을 위해 사용할 수 있는 키워드로 상속클래스, 상속인터페이스에서 안전성과 명확성이
인터페이스와 추상 클래스 비교
인터페이스와 추상 클래스는 서로 비슷한 듯 다른 기능이다.
인터페이스는 클래스가 아닌 인터페이스라는 고유한 형태를 가지고 있는 반면 추상 클래스는 일반적인 클래스다.
자바의 특성상 한 개의 클래스만 상속이 가능하여 해당 클래스의 구분을 추상 클래스 상속을 통해 해결하고, 할 수 있는 기능들을 인터페이스로 구현합니다.
공통된 기능 사용 여부
만약 모든 클래스가 인터페이스를 사용해서 기본 틀을 구성한다면...공통으로 필요한 기능들도 모든 클래스에서 오버라이딩 하여 재정의해야 하는 번거로움이 있습니다.
이렇게 공통된 기능이 필요하다면 추상 클래스를 이용해서 일반 메서드를 작성하여 자식 클래스에서 사용할 수 있도록 하면 된다.
위에서 얘기했듯이자바는 하나의 클래스만 상속이 가능합니다.만약 각각 다른 추상 클래스를 상속하는 데 공통된 기능이 필요하다면? 해당 기능을 인터페이스로 작성해서 구현하는 게 편하겠죠? |
|
클래스, 인터페이스, 추상, 상속, 사용, 기능, 모든, 구현, 메, 소드, 가능하다, 공통, 해당, 필요하다, 가지, 뚜루, 정보, 정자, 키, 워드 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|