본문 바로가기
Backend/Java

[Java] Scanner 클래스 사용 시 close() 작성해 주어야 하는 이유

by olli2 2021. 11. 2.

입력

- 키보드를 통해 입력받기

- 파일을 통해 입력 받기

[파일을 통해 입력 받는 경우]

파일작업의 순서 : 사용하고자 하는 파일 열기 - 사용하기 - 닫기

파일을 열어놓고 닫지 않을 경우, 파일이 손상될 가능성 존재하기 때문에 파일을 열고 꼭 닫아주어야 한다.

 

스트림을 닫지 않으면 스트림이 메모리에 계속 남아있음

-> 메모리 누수 현상 발생 가능성 존재

메모리 누수 (memory leak) : 더이상 사용하지 않는 객체가 가비지 컬렉션(GC)에 의해서 회수되지 않고 계속 누적되는 현상

 

 

키보드 입력의 경우 close()를 해주지 않아도 크게 상관은 없지만,

리소스를 사용하는 경우에는 가급적이면 close()해주는 습관을 들이는것이 좋다.

'Backend > Java' 카테고리의 다른 글

[Java] next()와 nextLine() 차이점  (0) 2021.11.02