28. “프로그램언어 다트(Dart)에서의 메모리 관리”

다트(Dart) 메모리 관리란?

다트(Dart)는 가비지 컬렉션(Garbage Collection)이라고 하는 자동 메모리 관리 시스템을 사용합니다. 이것은 프로그램이 동적으로 할당한 메모리 영역을 자동으로 해제해주는 역할을 합니다. 즉, 프로그래머가 직접 메모리를 해제하지 않아도 됩니다.

가비지 컬렉션의 원리

가비지 컬렉션은 일반적으로 두 가지 단계로 작동합니다. 첫 번째 단계는 ‘마킹(Marking)’ 단계로, 이 단계에서는 사용 중인 메모리 영역이 어딘지 찾습니다. 두 번째 단계는 ‘스위핑(Sweeping)’ 단계로, 이 단계에서는 사용하지 않는 메모리 영역을 해제합니다.

다트에서의 메모리 관리

다트에서는 관리되는 메모리 영역 중에서도 ‘힙(heap)’ 영역에 집중하여 메모리를 관리합니다. 힙 영역은 동적으로 생성된 객체가 저장되는 공간으로, 가비지 컬렉션의 주요 대상이 됩니다. 다트에서 객체를 생성하면 힙 영역에 메모리가 할당되고, 해당 객체에 대한 모든 참조가 사라지면 가비지 컬렉터가 해당 메모리를 해제합니다.

다트 메모리 관리 예제 코드


class Animal {
  String name;
  Animal(this.name);
}

void main() {
  var cat = new Animal('Tom');
  cat = null; // 여기서 Tom 객체에 대한 참조를 해제. 가비지 컬렉트의 대상이 됨
}

마무리

이처럼, 다트에서는 가비지 컬렉션을 통해 메모리를 자동으로 관리하기 때문에, 개발자는 메모리 관리에 신경 쓰지 않고 프로그램의 핵심 로직에만 집중할 수 있습니다.

Leave a Comment