클래스 | 추상 클래스 | 인터페이스 | |
키워드 | class | abstract class |
interface |
기능 | 필드와 메서드로 이루어진 객체 | 추상 메서드를 하나 이상 가진 클래스, 자식 클래스에 대해 오버라이딩 강제 |
메서드의 선언부만 가짐, 모든 메서드가 추상 메서드라서 상속받은 클래스는 반드시 구현해야함 |
변수 선언 | 가능 | 가능 | 불가능 |
함수 선언 | 가능 | 가능 | 가능 |
함수 구현 | 가능 | 추상 메서드 구현 불가능 | 불가능 |
객체 생성 | 가능 | 불가능 | 불가능 |
목적 | 객체를 나타내기 위한 틀 | 코드의 재사용 및 확장 | 반드시 구현해야하는 요구사항 |
상속 가능 여부
부모 클래스 (행) →
↓자식 클래스 (열)
일반 클래스 | 추상 클래스 | 인터페이스 | |
일반 클래스 | O |
O (오버라이딩 필수) |
O (오버라이딩 필수) |
추상 클래스 | O | O | O |
인터페이스 | X | X | O |
참고
'유니티, C#' 카테고리의 다른 글
스크롤뷰 최적화 (RectMask2D) (0) | 2020.03.19 |
---|---|
마우스 스와이프 구현 로직 (0) | 2020.02.10 |