TaskRunner는 StudyTask 역할만 알고 결과를 Study Log로 넘긴다

구체 작업 생성과 실행 조정의 책임이 분리됩니다.

Runner
run(StudyTask)

ReadingTask

execute → Java/40

CodingTask

execute → Spring/50

TaskResult

topic·minutes

StudyLog

결과 저장

핵심: 새 Task 구현은 Runner의 타입 분기 없이 같은 실행 경로에 들어옵니다.