Languages/RUST

[Rust] Rust의 변수가 특별한 이유

MOONCO 2023. 3. 28. 01:50

 

 

[Rust] Rust란?

Rust 란? 서버, 클라이언트 프로그램을 만들기 위한 프로그래밍 언어 ( with Mozilla ) 특징 & 필요성 1. Null Safety ( 에러 초기 감지 ) 모든 변수는 초기값을 가져야만 한다 ( 없으면 컴파일 에러! ) - C 언

defineall.tistory.com


목적

Rust 가 다른 언어와 다른 점이 무엇인지 살펴보고,

어떤 장단점을 가졌는지 이해하여,

필요한 분야를 파악하고, 알맞은 곳에 사용할 수 있도록 한다.

 


Rust의 변수

기본적으로 변수는, 아직 정해지지 않은 수를 의미한다.

Rust에서도, 변수가 존재한다.

하지만 Rust는, "상수화된 변수" 라는 새로운 형식을 "기본"으로 사용하고,

기존의 변수는 "보조" 로 사용한다.
fn main() {
  // 기존의 변수 생성 ( mut 예약어 사용 )
  let mut y = 5;
  // 상수화 된 변수 생성
  let x = 5;
  // 상수화 된 변수 생성 ( 같은 이름 사용 가능 )
  let x = x + 5;
  // x = x + 5;  // Error!
}

 

위의 예제에서 "X" 라는 이름을 가진, 상수화된 변수를 만들었다.

그리고 바로 그 다음 줄에서, 똑같은 "X" 라는 이름을 가진, 상수화된 변수를 다시 한번 만들었다.

말그대로, 다시 만들었으므로, 이전 메모리와 완전히 다른 공간에, 새로운 데이터를 저장한다는 뜻이다.

첫줄을 보면, mut 예악어를 사용해 기존언어들과 같은 기능을 사용할 수 있다는 것도 알 수 있다.

하지만, 굳이 이렇게 바꾼 이유가 뭘까?

 

이전 메모리를 재사용 하지 않는 이유는?

메모리를 기본적으로 변하지 않도록 만드는 이유는?

변하는 경우가 존재하긴 하는데~, 대다수의 경우에는 변하지 않아!

 

메모리를 재사용하는 것은, 완전히 배제 되어야 하는가? 그건 아니다.

구조체와 같이, 큰 데이터를 통째로 저장해야 하는 경우가 있다.

이런 경우에, 메모리를 새로 할당하는 것이 좋을까?

아니면, 기존의 메모리에 덮어쓰는 것이 좋을까?

  메모리 할당 작업 메모리 쓰기 작업 ( 저장 )
작업자    
     

 

 

 

 

 

( 많은 상수를 사용할 수 록, 실제 실행환경-런타임 에서 해야할 일이 줄어드므로? )

반응형