해결된 질문
작성
·
415
답변 4
3
안녕하세요. 팡휘님, 공식 서포터즈 코즈위버입니다.
메모리를 해제할 때 값을 비우지 않는 이유는 값을 비우는 행위도 연산이기 때문입니다.
값을 비운다는 행위는 결국 메모리에 있는 데이터를 널문자로 덮의씌운다 의미이므로 CPU 리소스를 사용합니다. 그래서 이런 작업을 생략합니다.
tonster96님 말씀처럼, 메모리를 사용하기 전에는 반드시 초기화를 진행해야 하는데요, 클래스의 멤버변수인 경우 이 초기화 과정을 자동으로 처리해주기도 합니다 :)
감사합니다.
1
운영체제는 실행되는 모든 프로그램을 관리하며 메모리 사용을 관리하고 프로그램들은 필요한 메모리 공간을 운영체제에서 할당받아서 사용합니다. 위에 선언은 정수형 자료를 담을 수 있는 공간에 접근할 권한만 받은 상태이고 대부분의 경우 다른 프로그램에서 이미 사용되어서 알 수 없는 어떤 값(쓰레기값)이 남아있는 상태입니다. 그렇기에 요즘은 반드시 초기화를 해야만 사용할 수 있게 되어 있습니다. 그리고 이전에 다른 프로그램이 사용한 메모리라도 사용권한을 받은 프로그램만 접근할 수 있고 프로그램이 종료되면 사용권한이 운영체제에 회수되어 더 이상 사용할 수 없기 때문에 굳이 메모리에 남아있는 값을 없애는 수고(?)를 하지 않고 있습니다.
1
0