Skills/Java

Java new 연산자

aoaa 2022. 5. 10. 16:14

 

 메모리는 스택과 힙 영역으로 나눠져 있습니다. 스택은 정적(Static)이지만 힙은 참조형입니다.큰 용량을 차지하며 해체하기 전까지는 삭제되지 않습니다. 

https://refreshment-wg.tistory.com/67 이 글에서 Java에서는 가비지 컬렉션이 힙 영역을 정리한다는 역할을 한다고 했습니다.

 

 new는 클래스 타입의 인스턴스(객체)를 생성해주는 역할을 합니다. 이 때 heap 영역에 데이터를 저장할 공간을 할당받고, 그 공간의 참조값(refrence value)를 객체에 반환하고, 이어서 생성자를 호출합니다. 

 

aoClass sc=new aoClass();

 위의 코드를 보면, aoClass라는 타입으로 sc라는 객체를 선언한 뒤, new를 사용해 생성자인 aoClass()를 힙 영역에 할당하게 되는 것입니다. 

 

public static void main(String[] args) {
    GocoderClass gc = null; // 객체를 선언
    gc= new GocoderClass();   // 인스턴스를 생성
    System.out.println(gc); // 참조 값이 출력
}

 

'Skills > Java' 카테고리의 다른 글

Java - Stack  (0) 2022.05.23
Java - Parameter, Argument  (0) 2022.05.20
Scanner & BufferedReader  (0) 2022.05.07
Java 구성 (class, method, instance)  (0) 2022.05.06
Java public static void main(String[] args)의 의미  (0) 2022.05.04