Files.lines 자원 수명

지연 Stream은 최종 연산이 끝날 때까지 열린 파일을 보유한다.

1

Path 준비

아직 파일 핸들 없음

값만 존재한다.

2

lines 호출

파일 열림

Stream이 reader를 소유한다.

3

지연 소비

행별 처리

메모리 사용을 제한한다.

4

try 종료

Stream close

파일 핸들을 반납한다.

핵심: 지연 Stream을 메서드 밖으로 넘기면 닫기 책임이 흐려질 수 있다.