문서 목록
⭐️는 필수 지식, 💡는 이해하면 좋은 지식이에요.

메모리 관리와 누수 방지

개념 설명

가상 메모리 시스템과 JavaScript 런타임의 메모리 관리 방식을 이해하여 메모리 누수를 방지하는 기법.

핵심 포인트

  • 가상 메모리는 페이지 단위(4KB)로 관리되며 디스크 스왑 가능
  • JavaScript GC는 마크 앤 스위프 방식으로 도달 불가능한 객체 수집
  • 순환 참조, 타이머 미해제, 클로저가 주요 메모리 누수 원인
  • WeakMap/WeakSet으로 약한 참조 활용하여 누수 방지

예시 코드

// 메모리 누수 방지 패턴
class MemoryEfficientComponent {
  constructor() {
    this.timers = new Set();
    this.listeners = new Map();
  }
  
  addTimer(callback, interval) {
    const id = setInterval(callback, interval);
    this.timers.add(id);
    return id;
  }
  
  addEventListener(element, event, handler) {
    element.addEventListener(event, handler);
    this.listeners.set(element, { event, handler });
  }
  
  destroy() {
    // 타이머 정리
    this.timers.forEach(id => clearInterval(id));
    this.timers.clear();
    
    // 이벤트 리스너 정리
    this.listeners.forEach((info, element) => {
      element.removeEventListener(info.event, info.handler);
    });
    this.listeners.clear();
  }
}

더 많은 내용을 확인하세요! 📚

메모리 관리와 누수 방지의 전체 내용을 보시려면 프리미엄 플랜이 필요합니다.

✨ 모든 기술 문서 무제한 액세스

📝 실습 예제와 상세한 코드 설명

🎯 면접 예상 질문과 답변 가이드

플랜 비교하기