개발바닥

[기본 개념 요약] 변수 본문

GO 언어

[기본 개념 요약] 변수

라이언 2023. 3. 12. 21:03
반응형

변수란?

값을 저장하는 메모리 공간을 가리키는 이름이다.

변수마다 메모리 공간을 가지고 있다. (같은 메모리 공간을 가지고 있을 수도 있고 서로 다른 메모리 공간을 가지고 있을 수 있다.)

프로그램 실행 도중에 CPU는 연산에 필요한 데이터를 "메모리"에서 가져온다.

변수는 프로그램 실행 도중에 연산에 필요한 값(데이터)를 저장하기 위해 메모리 공간을 이용한다.

 

변수가 왜 중요한가?

프로그램이란 결국 데이터를 연산/조작 하는 일이다. 데이터는 메모리에 있다.

음악 듣기, 유튜브 영상 보기, 게임 실행하기 등 컴퓨터 입장에서는 데이터를 조작하는 일이다.

 

변수는 4가지 속성

이름, 값, 주소, 타입을 가지고 있다.

ex) var a int = 10

 

이름 : a

값 : 10

주소 : 메모리 상에 위치하는 주소 (주소 시작 지점)

타입 : 변수가 가리키고 있는 데이터 형태을 나타낸다. 타입마다 각자 사이즈를 가지고 있다.

주소 + 타입을 통해서 메모리 공간에 위치와 크기를 알 수 있다.

 

타입 변환

Golang은 강타입 언어이다. (타입 검사를 강하게 한다.)

연산의 각 항목의 타입은 반드시 같아야 한다.

ex) 연산 가능 
 var a int = 10
 var b int = 16
 
ex) 연산 불가능
var a int = 10
var b int16 = 20

타입 변환 시 주의 사항

메모리 공간이 큰 a 라는 값에 큰 값이 저장되어 있고, 메모리 공간이 작은 b라는 값에 작은 값이 저장되어 있을 때

b -> a 로 타입 변환은 문제 없지만,

a -> b 로 타입 변환시 일부 값들이 버려질 수 있다.

 

큰 타입에서 작은 타입 변환할 때 값이 변할 수 있으니 주의해야 한다.

반응형

'GO 언어' 카테고리의 다른 글

[기본 개념 요약] 구조체  (0) 2023.03.17
[기본 개념 요약] 배열  (0) 2023.03.14
Echo framework로 간단한 웹서버 만들기  (1) 2022.03.27
유닛 테스트(Unit Test)  (0) 2022.03.09
인터페이스 (interface)  (0) 2022.03.06
Comments