Rust

Ownership & Borrowing

ownership 규칙, move semantics, borrowing(&T, &mut T), lifetimes, 댕글링 참조

22 면접 질문·
Junior
1

Rust에서 ownership란 무엇인가요?

답변

ownership는 garbage collector 없이 메모리 안전성을 보장하는 Rust의 근본적인 시스템입니다. 각 값에는 단일 소유자가 있으며, 소유자가 scope를 벗어나면 메모리가 자동으로 해제됩니다. 이 시스템은 컴파일 시점에 data races와 use-after-free 오류를 방지합니다.

2

Rust에서 하나의 값은 몇 명의 소유자를 가질 수 있나요?

답변

Rust에서는 하나의 값이 한 번에 하나의 소유자만 가질 수 있습니다. 이것이 ownership의 첫 번째 규칙입니다. ownership이 이전(move)되면 이전 소유자는 더 이상 그 값에 접근할 수 없습니다. 이 규칙은 코드의 두 부분이 동일한 메모리를 수정하거나 해제하는 일이 절대 일어나지 않도록 보장합니다.

3

Rust에서 변수가 scope를 벗어나면 어떤 일이 일어나나요?

답변

변수가 scope를 벗어나면 Rust는 자동으로 drop 함수를 호출하여 메모리를 해제합니다. 이 동작은 결정적이고 예측 가능하며, 메모리를 비결정적으로 해제하는 garbage collector와는 다릅니다. 이 패턴을 RAII(Resource Acquisition Is Initialization)라고 합니다.

4

Rust에서 move란 무엇인가요?

5

Rust에서 Copy trait를 구현하는 타입은 무엇인가요?

+19 면접 질문

다음 면접을 위해 Rust을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기