Polymorphic StudyLog는 구체 타입 대신 추상 활동 계약을 저장한다

저장·합계·일괄 실행이 새 활동 종류와 분리됩니다.

StudyLog
StudyActivity[]

ReadingActivity

read 구현

CodingActivity

code 구현

VideoActivity

watch 구현

공통 집계

minutes 합계

핵심: 새 활동이 계약을 구현하면 기존 배열과 반복 로직을 수정하지 않습니다.