Java에서는 객체·명령·함수·동시성 관점을 함께 사용한다

한 패러다임을 모든 문제에 강제하면 상태·데이터 흐름·효과·병렬성 중 일부가 숨습니다.

Java applicationmulti-paradigm design

object-oriented

상태+행동 캡슐화

imperative

명시적 제어·효과

functional

값 변환·합성

declarative

원하는 결과 기술

concurrent

task·자원 조정

핵심: 변경 이유와 실행 계약에 가장 맞는 관점을 경계별로 조합합니다.