FIF's 코딩팩토리

패스트캠퍼스 챌린지 16일차 본문

패스트캠퍼스 챌린지

패스트캠퍼스 챌린지 16일차

FIF 2022. 2. 8. 20:50
반응형

인스턴스 생성과 힙 메모리

 

객체를 흔히 인스턴스 라고 부른다. 인스턴스는 new() 키워드를 통해 생성된다.

클래스는 객체의 속성을 정의하고 기능을 구현하여 만들어 놓은 코드 상태이다.

실제 클래스 기반으로 생성된 객체(인스턴스)는 각각 다른 멤버 변수 값을 가지게 된다.

예를들어 학생 클래스에서 생성된 각각의 인스턴스는 각각 다른 이름, 학번, 학년등의 값을 가지게 된다.

저번시간에 Student 클래스를 만들고 멤버 변수를 정의했었다.

Student studentLee = new Student();

Student studentKim = new Student();

위 코드에서 studentLee 인스턴스와 studentKim 인스턴스는 메모리상으로 볼 때 각각 다른 위치에서 생성된다.

그러므로 studentLee.xxx.... 와 studentKim....xxx 가 가능한 것이다.

이 때, 인스턴스는 메모리에서 heap에 생성된다.(매우 중요)

heap에 생성된 인스턴스는 동적으로 할당 생성된다. 이말은 필요할 때 할당 받고 다 사용되면 메모리에서 사라진다는 뜻이다.

 

힙 메모리(Heap Memory)

생성된 인스턴스는 동적 메모리에 할당 된다.

C나 C++언어에서는 사용한 동적 메모리를 프로그래머가 직접 해제 시켜야 한다.(free() or delete 사용)

자바에서는 Garbage Collector가 주기적으로 사용하지 않는 메모리를 자동으로 수거한다.

하나의 클래스로부터 여러개의 인스턴스가 생성되고 각각 다른 메모리 주소를 가지게 된다.

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

 

 

반응형
Comments