인터페이스, 추상클래스.. 사용 가능할 것 같은데? <8>
어제 리팩토링을 하고, 자기 전에 고민을 했다.과연 내 계산기에서 인터페이스나 추상 클래스를 사용할 곳이 한 군데도 없을까? 진짜로?사용할 수 있을 것 같은데? 해서, 인터페이스와 추상 클래스의 개념을 간단하게 다시 잡고, 방향성을 정했다.추상 클래스는 "공통적인 로직" 을 기반으로 하고, 인터페이스는 "확장성" 에 초점을 맞춘다.특징추상 클래스인터페이스목적코드 재사용, 공통 기능 제공설계 강제, 다양한 구현체 허용공통 로직 포함 여부가능 (메서드 구현, 필드 포함)불가능 (Java 8부터 default 메서드 허용)다중 상속불가능가능유연성제한적 (계층 구조를 강제)매우 유연 (다양한 구현 가능) 이보다 더 간단히 비유를 해 보자면,인터페이스는 "레고 블록은 이렇게 생겨야 한다" 라는 규정만 하고, 조립..
2024. 11. 18.