디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

러스트 담론을 해체하다: 1.2 소유권, 빌림, 생명주기를 통한 메모리

나르시갤로그로 이동합니다. 2025.11.11 19:15:16
조회 66 추천 0 댓글 0

https://nimfsoft.art/ko/books/deconstructing-the-rust-discourse/#12-%EC%86%8C%EC%9C%A0%EA%B6%8C-%EB%B9%8C%EB%A6%BC-%EC%83%9D%EB%AA%85%EC%A3%BC%EA%B8%B0%EB%A5%BC-%ED%86%B5%ED%95%9C-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B4%80%EB%A6%AC

 


1.2 소유권, 빌림, 생명주기를 통한 메모리 관리

러스트의 목표인 '가비지 컬렉터(GC) 없는 메모리 안전성'은 기존 방식과 구별됩니다. C/C++의 수동 관리는 오류 발생 가능성이 있으며, Java의 GC는 런타임 오버헤드를 수반합니다. 러스트는 이 문제를 해결하기 위해, 런타임이 아닌 컴파일 타임에 메모리 관리 규칙을 강제하는 시스템을 도입했습니다. 이는 소유권(ownership), 빌림(borrowing), 생명주기(lifetimes)라는 세 가지 개념으로 구성됩니다.

1. 소유권 (ownership): 모든 값에는 소유자가 있다

러스트의 메모리 관리는 '소유권' 규칙을 기반으로 합니다.

  • 모든 값(value)은 단 하나의 소유자(owner) 변수만을 가집니다.
  • 소유자가 스코프(scope, 유효 범위)를 벗어나면, 그 값은 자동으로 메모리에서 해제(drop)됩니다.
  • 소유권은 다른 변수로 '이동(move)'될 수 있으며, 이동 후 원래의 소유자는 더 이상 유효하지 않습니다.

이 규칙들은 '이중 해제(double free)' 오류를 방지합니다. 또한, 소유권이 이동하면 이전 변수는 사용할 수 없으므로 '해제 후 사용(use-after-free)' 오류가 컴파일 시점에 방지됩니다.

2. 빌림 (borrowing): 소유권 없이 접근하기

소유권 이동만이 유일한 데이터 전달 방식일 경우, 비효율이 발생할 수 있습니다. 이를 해결하기 위해 러스트는 '빌림' 개념을 제공합니다. 이는 데이터의 소유권을 넘기지 않고, 특정 스코프 내에서 데이터에 대한 접근 권한(참조, reference)을 일시적으로 허용하는 것입니다.

'빌림'에는 다음과 같은 규칙이 적용됩니다.

  • 특정 데이터에 대해, 여러 개의 '읽기 전용 빌림(immutable borrow, &T)'은 동시에 존재할 수 있습니다.
  • '수정 가능한 빌림(mutable borrow, &mut T)'은 단 하나만 존재할 수 있으며, 이 빌림이 유효한 기간에는 다른 빌림이 허용되지 않습니다.

컴파일러는 이 규칙을 통해, 하나의 데이터에 대해 동시 수정 시도나 읽기와 수정의 동시 시도를 컴파일 시점에 차단합니다. 이것이 러스트가 '데이터 경쟁(data race)'을 방지하는 원리입니다.

3. 생명주기 (lifetimes): 빌린 데이터의 유효 기간 보장

'생명주기'는 '빌림(참조)'이 유효한 스코프, 즉 '생존 기간'을 컴파일러에 명시하는 역할을 합니다.

컴파일러는 생명주기 분석을 통해, 빌려온 데이터가 소유자에 의해 먼저 해제되어 발생하는 '댕글링 포인터(dangling pointer)' 문제를 방지합니다. 즉, 데이터의 실제 생존 기간보다, 그것을 빌려온 참조의 생존 기간이 더 길어지는 상황을 허용하지 않습니다. 컴파일러가 생명주기를 자동으로 추론하는 경우가 많으나, 추론이 어려운 경우 개발자가 명시적으로 생명주기를 지정할 수 있습니다.

이 세 가지 개념, 즉 소유권으로 자원의 생애를 관리하고, 빌림으로 데이터 접근을 제어하며, 생명주기로 댕글링 포인터를 방지하는 시스템은 '빌림 검사기(borrow checker)'라는 컴파일러의 일부에 의해 강제됩니다. 이 검사기는 '성능 저하 없는 안전성'을 구현하는 메커니즘입니다.

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 뛰어난 운동 신경으로 남자와 싸워도 이길 것 같은 여자 스타는? 운영자 25/11/24 - -
이슈 [디시人터뷰] 충무로가 주목하는 신예, '세계의 주인' 서수빈 운영자 25/11/24 - -
AD 대학생 필수템! What's in my Bag 운영자 25/11/21 - -
2903577 오프라인 부트캠프 여건 안되면 [1] 프갤러(223.39) 11.20 102 0
2903576 제주 이주열풍은 '거품'.."식은 게 아닌 정상화하는 과정" 발명도둑잡기(118.216) 11.20 63 0
2903574 #악성언행 발명도둑잡기(39.7) 11.20 81 0
2903561 Mudd the student - 123 발명도둑잡기(118.216) 11.20 56 0
2903560 [이런뉴스] 일본에서 “에스파 오지마!” 5만 명 찬성, 무슨 일? 발명도둑잡기(118.216) 11.20 83 0
2903558 중국군, SNS 통해 ‘건방떨지 마’ 랩 영상 공개 발명도둑잡기(118.216) 11.20 91 0
2903550 [단독] 무인기 18대 북한에 보냈다‥'북한 무인기'까지 준비 발명도둑잡기(118.216) 11.20 83 0
2903547 [팩트체크] AI가 수능 문제 풀어보니…1등은 챗GPT 발명도둑잡기(118.216) 11.20 51 0
2903546 프론트 연봉 상승률 ㅁㅌㅊ [2] ㅇㅇ(118.235) 11.20 145 0
2903545 요즘 비트코인갤 미주갤에 글리젠 상대가안되네 [4] 헬마스터갤로그로 이동합니다. 11.20 91 0
2903543 전한길 “김예지 숙청해야…박민영 감싼 장동혁 정말 잘해” 발명도둑잡기(118.216) 11.19 57 1
2903541 구글 플레이스토어 수수료 시발 존나 어이없네 [3] 뉴진파갤로그로 이동합니다. 11.19 89 0
2903540 미래에 뜰 언어 이거 확실하다. [2] 프갤러(110.8) 11.19 121 0
2903538 오늘의 영상 기획 실마리: 세계 힙합 올림픽 발명도둑잡기(39.7) 11.19 44 0
2903535 냥덩이는 언제나 어디서나 당신곁에❤ [3] ♥KiTTY냥덩♥갤로그로 이동합니다. 11.19 88 0
2903534 누가 더 못 생김? 프갤러(39.7) 11.19 117 0
2903532 전라도 신안 염전 노예 조사 착수 ♥KiTTY냥덩♥갤로그로 이동합니다. 11.19 76 0
2903531 이런 대사 어때보여? [1] ㅁㅁㅅ갤로그로 이동합니다. 11.19 129 0
2903529 Ada 코드도 이렇게 보니 이쁘네 ㅋㅋ [20] 나르시갤로그로 이동합니다. 11.19 123 0
2903527 내란견들을 사형시켜야 주가가 쑥쑥 오를텐데 [5] 발명도둑잡기(39.7) 11.19 88 0
2903522 내란 동조자 색출해서 씨를 말려서 2차 내란 방지해야지 [1] 발명도둑잡기(39.7) 11.19 71 0
2903520 촉촉한 초코 케익처럼 달콤한 모모링❤ [3] ♥KiTTY냥덩♥갤로그로 이동합니다. 11.19 81 0
2903519 김현지 휴대폰 수색 철저히 수사해야 [2] ♥KiTTY냥덩♥갤로그로 이동합니다. 11.19 68 1
2903516 부업하는 갤럼 있니? [3] 가연아갤로그로 이동합니다. 11.19 122 0
2903515 기계식 키보드 샀다 [4] ㅇㅇ(113.59) 11.19 108 0
2903514 삼국사기 게임 개발 중. 후원이 필요함. [2] 책사풍후갤로그로 이동합니다. 11.19 77 0
2903512 아직 영상 ai쪽은 많이 부족하네.. [2] ♥KiTTY냥덩♥갤로그로 이동합니다. 11.19 120 0
2903511 카시오 건반 개조 발명도둑잡기(39.7) 11.19 50 0
2903510 레고 차 발명도둑잡기(39.7) 11.19 52 0
2903509 This Computer Is Definitely Not A Toy [1] 발명도둑잡기(39.7) 11.19 54 0
2903507 형님들 지금도 코딩 국비지원 취업 잘 됩니까.. [9] 프갤러(125.185) 11.19 171 0
2903506 전광판 회사 [1] 발명도둑잡기(39.7) 11.19 67 0
2903503 Android 개발 커리어 [3] 프갤러(116.45) 11.19 74 0
2903502 일본이 싫었던 미야자키 하야오 발명도둑잡기(39.7) 11.19 94 0
2903501 [대한민국] 최순실 사건!? 신은 있었다! 2탄! 프갤러(121.172) 11.19 45 0
2903500 홍대 알라딘에서 <8체질의학> 책 샀다 [1] 발명도둑잡기(39.7) 11.19 90 0
2903499 마포도서관서 컴퓨터 책 열권 빌렸다 [1] 발명도둑잡기(39.7) 11.19 83 0
2903497 뽀로로 칼라 컴퓨터 발명도둑잡기(39.7) 11.19 75 0
2903495 삼국사기 게임 개발일지_근구수와 침류 넣음 [2] 책사풍후갤로그로 이동합니다. 11.19 62 0
2903492 거대한.. [4] ♥KiTTY냥덩♥갤로그로 이동합니다. 11.19 106 0
2903489 4050 극좌 빨갱이들이 인스타에서 못 깝치는 이유 [4] ♥KiTTY냥덩♥갤로그로 이동합니다. 11.19 102 3
2903488 Mp3네... 음질.... 도리스아(223.38) 11.19 47 0
2903487 11년전 폰 케이스 팔지도 않네요... 도리스아(223.38) 11.19 59 0
2903485 으악 시발 맘스터치에서 씹뜨억 행사중 [3] 프갤러(182.227) 11.19 134 1
2903484 antigravity ㅇㅇ갤로그로 이동합니다. 11.19 83 0
2903481 파이썬 gui는 별로 인기 읎네 [3] 프갤러(14.52) 11.19 79 0
2903480 길가는 여성분한테 뺨때려달라고 요청하는거 ㄱㅊ냐 [1] ㅁㅁㅅ갤로그로 이동합니다. 11.19 80 1
2903479 키킥 데비안 12에서 13 업그레이드 성공 [2] 프갤러(121.133) 11.19 69 0
2903478 러스트 안배우고 자바 자스 파이썬 이딴거 하니까 iq가 내려가는거다. [7] 프갤러(121.133) 11.19 134 0
2903477 답십리미디어센터에 해리포터 화보 두꺼운 책 있었는데 없어졌다 발명도둑잡기(39.7) 11.19 47 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2