하리
;&:“(&:
0
OOP 용어 암기에서 멈추는지, 아니면 4대 특성을 TDA·상속/조합 같은 실제 설계 판단으로 연결할 수 있는지를 가른다.
객체 지향 프로그래밍은 데이터와 동작을 객체에 묶고, 객체 간 메시지 협력으로 문제를 푸는 패러다임이다. 캡슐화로 내부 구현을 가리고, 추상화로 핵심 개념만 노출하며, 다형성으로 같은 인터페이스에 여러 구현을 끼우고, 상속으로 공통 구조를 재사용한다. 여기에 TDA(Tell, Don't Ask)처럼 객체에게 동작을 위임하는 흐름이 더해지면 응집도가 올라가고 결합도가 떨어진다. 실무에서는 상속을 남용하지 않고 인터페이스·조합 중심으로 균형을 잡는 게 핵심이다.
조건 분기로 가득했던 코드를 TDA로 객체에 위임해 정리한 경험이 있다면 응집도·결합도 이야기와 묶을 수 있다
상속 트리가 깊어져 변경이 어려워졌고 그래서 조합으로 바꿔본 경험이 있다면 상속 한계 사례로 풀 수 있다
책임을 재배치한 뒤 테스트 작성이 쉬워진 경험이 있다면 캡슐화와 테스트성을 연결해 답할 수 있다
;&:“(&: