언매니지드 언어와 매니지드 언어

GABMIN KIM·2022년 1월 22일
0

JavaScript

목록 보기
11/17
post-thumbnail

언매니지드 언어와 매니지드 언어

프로그래밍 언어는 메모리 관리 방식에 따라 크게 2가지 언매지니드 언어(Unmanaged Language), 매니지드 언어(Managed Language)로 나뉜다.


언매니지드 언어 (Unmanaged Language)

C언어 같은 언매니지드 언어는 개발자가 명시적으로 메모리를 할당하고 해제하기 위한 malloc()과 free() 같은 저수준 메모리 제어 기능을 제공한다. 이렇듯 언매니지드 언어는 개발자가 직접 메모리 제어를 주도할 수 있으므로 개발자의 역량에 따라 최적의 성능을 확보할 수 있지만 능숙하지 않다면 오히려 치명적인 오류를 발생할 가능성이 있다.


매니지드 언어 (Managed Language)

자바스크립트 같은 매니지드 언어는 메모리의 할당 및 해제를 위한 메모리 관리 기능을 언어 차원에서 담당하고 개발자의 직접적인 메모리 제어를 허용하지 않는다. 따라서 개발자가 직접 메모리를 할당하고 해제할 수 없다. 재할당에 의해 더 이상 사용하지 않는 메모리의 해제는 가비지 콜렉터가 수행한다. 매니지드 언어는 개발자의 역량에 의존하는 부분이 상대적으로 작아져 어느 정도 일정한 생산성을 확보할 수 있다는 장점이 있지만 성능 면에서는 어느 정도 손실은 감수할 수밖에 없다.


출처

모던 자바스크립트 Deep Dive - 저자 이웅모

profile
목표를 성취하는 개발자가 되겠습니다.

0개의 댓글