Computer Science/자료구조

메모리의 기본 구조, Heap, Stack

TLdkt 2022. 5. 21. 09:16
728x90
반응형

✔Memory:: overview

메모리, 왜 중요한가?

  • 컴파일하고 실행할 때에 컴퓨터 내의 메모리를 사용하게 됨
  • 즉, 메모리의 구조를 알면 한정된 메모리 안에서 효율적으로 코드를 짤 수 있음
  • 메모리 누수, 스택/힙 오버플로우 등의 문제를 사전에 방지할 수 있음

✔Heap & Stack

  • Heap
    • 동적 할당 메모리(사용자가 관리)
    • 할당 후 해제 필수
    • run 할 때 할당됨
    • 액세스가 느리고, 운영체제마다 작동방식이 다르다는 단점
  • Stack
    • 정적 할당 메모리(컴퓨터가 알아서 지정)
    • 함수 호출 시마다 쌓임(compile 단계에서 할당)
    • Last In First Out
    • 호출 완료 시 소멸됨

✔Boxing, Unboxing

  • Boxing
    • Stack→Heap primitive값을 objective로 만들기
    • 자료형을 더 자유롭게 쓸 수 있기 때문에 메리트!
  • Unboxing
    • 반드시 boxing되어있는 값을 다시 value로 만들어주는 것
728x90
반응형