[ java ] in KIDS 글 쓴 이(By): Zaharang ( 고소영) 날 짜 (Date): 2000년 2월 5일 토요일 오후 09시 13분 53초 제 목(Title): Re: [Q] VC++ 질문 --; 음. 이 보드가 java보드이니 만큼 java쪽에서 말씀을 드리면 java에선 고민하실 필요 없죠! delete가 없걸랑요. Garbage Collector가 열씨미 돌면서 혼자 알아서 해줍니다. new-free 의 pair를 맞추려고 고민하는 경우가 없습니다! image같은 raw data생성을 제외하고선... 그럼 VC++같은 OOP의 경우에서 얘기를 드리면, 말씀하신 대로 2가지 경우가 다 가능하고, 혼자 죽던지 딴놈이 죽이던지 효과는 같습니다. 안정적인 code를 위해서는 딴놈이 죽이라는 msg를 보내면 '나 이제 죽어~' 하고서 자기가 자살하는 것이 OOP의 개념적으로 더 맞습니다. 말씀하신 대로 MFC도 그렇게 설계가 되어있죠. 이것은 그 Object가 생성되면서 벌였던 여러가지 일들을 자기가 해결하고 죽어야 하는 일들이 많기 때문이지요. 만약 생성된 클래스가 network socket을 열었거나 File Descriptor들을 열나 사용하였을 경우, 이놈을 죽이는 방법은... 죽일려면 1) 나죽는클래스->소켓닫아 나죽는클래스->네트웍도닫아줘 나죽는클래스->이제진짜죽어 이런 sequence를 가져야하고, 자기가 dispose될때의 method가 이미 정의된 놈이라면 2) SendKillMsg(나죽는클래스) 로 간단히 해결이 되겠죠? 사실, 취향의 문제이지만 2번이 선호되는 것이 맞습니다. |