예전 이야기입니다. <div><br><div>새로 들어온 신입분이셨죠. Java를 제일 잘 한다고 하시더라고요. 저희는 C++로 프로젝트를 진행하던 때라서 할 수 있느냐고 여쭤봤더니</div></div> <div>잘은 모르지만 배워서 잘 할수 있다고 대답하셨습니다. 당시 저는 모든 이치는 통한다고 결국 하나의 언어를 마스터하면 <span style="font-size:9pt;line-height:1.5;">다른 언어는 저절로 잘 따라온다고... 저는 믿고 있었기에 </span><span style="font-size:9pt;line-height:1.5;">맡겨보기로 했습니다.</span><span style="font-size:9pt;line-height:1.5;"> </span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div><span style="font-size:9pt;line-height:1.5;">저는 나름 야근을 자처하며 열심히 하시는 모습에 감동 반+ 왜 질문이 없지 라는 걱정 반으로 한달을 보냈습니다. 정확히는 제 자신이 질문없이 끙끙대고 책읽고 찾아보고 공부하는 스타일이라 질문이 없는것에 대해 그닥 이상하다곤 생각하지 않았기도 했지요... 그게 문제였지만.</span></div> <div><br></div> <div><span style="font-size:9pt;line-height:1.5;">결국 그분이 한달뒤에 내놓은 모듈을 실제로 적용해보자 몇분 있다가 뻗어버리는겁니다. 무조건이요. </span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div><span style="font-size:9pt;line-height:1.5;">알고보니 그분 모듈의 모든 코드에서 delete는 찾아볼 수 없었고 함수 내부를 포함한 모든 곳에 5줄에 한번식 등장하는 New에 컴퓨터는 홍수때 팔당댐 방수하듯 메모리를 흘려보내고 있던 것이었습니다. 수도없이 불려지는 복사생성자는 덤이었고요.</span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div><span style="font-size:9pt;line-height:1.5;">결국 저는 커피를 한잔 사드리며 수고했다는 격려와 함께 메모리는 무엇인가, 할당은 무엇인가 라는, 저를 포함한 모두가 지금도 열심히 공부하는 주제로 강의를 해드렸습니다. </span><span style="font-size:9pt;line-height:1.5;">그후 제대로 된 책 한권을 추천드리고 나서 어느정도 지나자 엄청난 퍼포먼스를 보여주시는걸 보며 저는 그냥 알아서 하도록 내비두는 사람은 좋은 사수가 아니구나 하는 교훈을 얻게되었습니다.</span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div><span style="font-size:9pt;line-height:1.5;">결론:</span></div> <div><span style="font-size:9pt;line-height:1.5;">1. JAVA는 GC가 메모리를 알아서 JAVA줘요. 그래서 메모리 신경을 덜 써도 되요. (그렇다고 관리 안해주면 안되요.)</span></div> <div><span style="font-size:9pt;line-height:1.5;">2.C++/C는 메모리를 관리해주지 않으면 나중에 이런 C++ 소리가 나와요. </span></div> <div><span style="font-size:9pt;line-height:1.5;">3.그러니깐 JAVA/C# 하시다가 C++/C 하게 되면 조심하세요. 잘못하면 작은 하마를 건들게 되요.</span></div> <div><span style="font-size:9pt;line-height:1.5;">4.자유 방임주의는 항상 먹혀들진 않아요. 가끔은 인터럽트를 걸어주어야 해요.</span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div>