283
2014-01-27 01:55:49
1
new 라는 키워드의 역할은 메모리를 할당해 주는 역할입니다.
new 뒤에 나오는 클래스, 구조체, 배열 같은 것들의 메모리 크기만큼 변수에 할당 해 줍니다.
그래서 예를들어..
ClassName a = new ClassName();
이렇게 되있으면
클래스네임이라는 클래스의 object에 ClassName만큼의 메모리를 할당하라 입니다.
그래서
ClassName a; //(1)
a=new ClassName(); /(2)
이렇게 써도 되긴 합니다.
하지만 1번같은 경우는 메모리 할당이 안되어 있어 클래스 내의 변수들을 활용하지 못합니다.
2번처럼 메모리를 할당해주어야 그때부터 변수를 집어 넣을 수 있습니다.
위의 (1)과 (2)를 한꺼번에 하는것이
ClassName a = new ClassName();
이 되는거죠.
이때 또 만약
a에 값을 많이 할당해 놓았는데.
a가 필요 없고 초기화를 해야된다. 라고 할때
a= new ClassName();
이라는 명령을 해주면.
a에는 다시 메모리 할당이 됩니다. 빈, 메모리 할당이 됩니다.
그래서 a의 이전 내용은 지워지고 새로운 빈 공간이 생겨 초기화의 효과를 가져오기도 합니다.