RAII에 대해 링크 걸어준거 고마와. 덕분에 RAII라는 용어를 알게됐어.
그런데, 자바는 원래 리소스 해지에 대해 고민할 필요가 없는
언어인데, RAII 스타일로 코딩하는 건 불가능해요... 라는 말이 의미 있을까?
------------------------------
자바도 메모리 해제(물론 해당 변수 죽이고 GC 강제 돌림)가 필요합니다.
또한, DB 접속이나 파일 I/O 등의 리소스는 당연히 해지해 줘야 하고요.
물론, 메모리 해제는 작은 프로그램에서는 그다지 크리티컬하지 않지만,
서버 시스템에서 잘못하면 메모리 수 기가에서 수십기가 처먹고 있는
아름다운 모습을 볼 수 있습니다. 그러다 GC 스케쥴에 따라 동작하면서,
정상적인 프로세스 동작이 얼어 버리는 아름다운 상황도 볼 수 있죠.
라이브러리가 잘 갖춰진 케이스라면 Java가 C에 비해 특별히 장점은 없는
경우가 많습니다. 다만, 요즘 개발자들은 컴퓨터가 어떻게 생겼는지 모르고
자바만 아는 경우가 많아서 그게 절망적이긴 하죠.