abstract

순수 계약만 남기면 추상 클래스는 인터페이스처럼 동작한다

호출자는 약속만 알고 실제 구현은 파생 타입이 바꿔 끼운다.

상태 없음멤버 변수는 최소화
순수 계약모든 동작을 = 0로 선언
구현 교체FileLogger, ConsoleLogger 교체
호출자 안정ILogger만 의존
설계 선택남기는 것얻는 효과
순수 인터페이스함수 시그니처구현체를 바꿔도 호출자는 유지
상태 없는 기반virtual 소멸자안전한 다형성 삭제
새 구현 추가override 구현기존 processData 수정 없음

핵심 인터페이스형 추상 클래스는 구현을 숨기고 호출자가 믿을 함수 목록만 남긴다.