problems of InstanceOf
InstanceOf의 단점
타입 종속성 증가
void process(Shape shape) {
if (shape instanceof Circle) {
Circle c = (Circle) shape;
c.drawCircle();
} else if (shape instanceof Rectangle) {
Rectangle r = (Rectangle) shape;
r.drawRectangle();
}
}다형성의 저해
왜 다형성을 저해할까?
1. 메시지 → 타입 분기
정상적인 다형성
instanceof
2. 리스코프 치환 원칙(LSP) 위반 신호
❌ 대표 예시
✅ 대안: 역할 분리
복잡한 논리와 가독성 저하
❌ instanceof 체인의 전형
문제점
실무에서 자주 생기는 문제
❌ 순서 의존 버그
❌ 조건 + 캐스팅 반복
✅ 대안 1: 다형성으로 분기 제거
✅ 대안 2: Kotlin sealed class (의도된 분기)
4️⃣ 세 단점의 관계 한눈에 보기
면접용 요약 문장
한 줄 요약
짧은 버전
Last updated