오늘 한 일
유저테스트 이후 7개 응답이 실렸습니다.
굉장히 많은 버그 및 개선사항이 있었지만 수정하는 작업 대신,
다시 한번 복습하는 의미에서 개념을 다시한번 알고 갑시다.
인터페이스 VS 추상 클래스
-> 추상 클래스는 “무엇인가이다 (is-a)” 관계,
인터페이스는 “할 수 있다 (can-do)” 관계를 표현하기 위해 사용
ㅣ
ㅣ_ C#은 다중 상속이 안 되기 때문에 ‘역할’을 표현하려면 인터페이스가 필요
| 구분 | 추상 클래스 | 인터페이스 |
|---|---|---|
| 상속 | 1개만 가능 | 여러 개 구현 가능 |
| 구현 코드 | 가능 | (기본적으론 선언만) |
| 필드 | 가능 | x |
| 생성자 | 있음 | x |
| 용도 | 공통 기반 클래스 | 공통 역할 / 계약 |
결론: ① 다중 상속 불가 문제 해결
② 강제 규약(Contract) 제공
③ 시스템 분리 (의존성 역전)
API 란?
→ 어떤 기능을 외부에서 “어떻게” 사용할 수 있는지 정해놓은 규칙
-> 기능을 외부에 안전하게 공개
내부 구현은 숨김
다른 프로그램이 정해진 방법으로만 접근