본문으로 바로가기

메모리 할당? 바인딩?

category 기타 2018. 9. 12. 20:00

메모리 할당과 바인딩을 많이들 헷갈려 한다. 사실 필자도 "메모리 할당과 바인딩은 다른것이다."라는 생각을 가지고 포스팅을 하기 위해 공부를 하기 전에는 몰랐다. 따라서 이 글에서는 두 개념의 차이를 설명하도록 하겠다.

 

 

 

공부하기전에 잘못 알고있던 사실들


 

메모리 할당은 말 그대로 메모리를 확보하는 것이다. 메모리 할당에서는 정적 메모리 할당과 동적 메모리 할당 두가지가 있다.

메모리 할당

1. 정적 메모리 할당 : static영역에 변수 또는 객체를 통해 메모리를 확보하는 것이다.

2. 동적 메모리 할당 : new연사자를 통해 heap영역에 객체를 등록하여 메모리를 확보하는 것이다

 

바인딩은 heap영역에 생성한 객체를 포인터 또는 참조변수로 가르키는 것을 말한다.

바인딩

정적 바인딩 : 자신의 타입으로 객체를 가르키는것

동적 바인딩 : 부모의 타입으로 객체를 가르키는것


 

공부한 후


메모리 할당 : 말 그대로 메모리를 확보하는것.

바인딩 : 변수에 변수와 관련된 속성을 연관시키는 과정.

 

정적 메모리 할당 : stack영역에 메모리를 확보하는 것.    ex) int data;    Object ob;

정적 바인딩 : 해당 변수에 변수와 관련된 값을 저장하는 것.     ex) int data = 5;

 

동적 메모리 할당 : heap영역에 메모리를 확보하는 것.    ex) java : new Object();    c: calloc(1, sizeof(int));

동적바인딩 : 참조변수 또는 포인터로  힙영역의 객체를 연결시켜주는 것을     ex) Object ob = new Object();


'기타' 카테고리의 다른 글

프로젝트로 공부하기  (0) 2018.11.06
자기개발 방법  (0) 2018.11.06
컴퓨터 언어의 흐름  (0) 2018.09.12
논리연산과 비트논리연산  (0) 2018.08.21
도움이 되는 글 링크  (0) 2018.08.20