[ 개발 잡소리 ] 변수와 상수 그리고 자료형 약간

2024. 3. 23. 14:32개발잡소리

변수는 무엇인가

상수는 무엇인가

 

수학시간에 어느 정도 졸지 않았던 학생들은 대충 예상이 될 수도 있다

 

간단하다

 

변수변할 수 있는 수

상수상할 수 있는 수가 아니라

변하지 않는 수이다 (예 : PI  3.141592...)

 

코딩을 하면서 엄청나게 많이 사용하는 약속어이며

일반적으로 값을 담아놓는 상자의 개념이다

 

언어에 따라 선언방법이 다른데

js와 C#을 기준으로 설명할 것이다

 


변수는 선언 후 초기화, 변경, 대입 연산등이 가능하지만

상수는 선언 후 초기화를 코드에서 하고 나면 값을 절대 변경할 수 없다

 

일반적인 변수선언 방법은

[선언키워드] [변수명] = [초기화값];

이러하다

예시는 다음과 같다

 

C#

int number = 3;

JS

var number = 3;

두 언어에 약간 (약간 아님)의 차이가 보이는 이유는 

js에서는 고유의 선언부가 존재한다

var, let, const 3개의 키워드가 존재하는데

js에서는 자료형으로 변수선언을 하지 않기 때문에 (애초에 자료형 이름도 근본은 없긴 함)

변수자체가 꽤 무겁다. (배열도 들어가고 객체도 들어가는 신기한 자료구조)

하지만 그렇기에 프로그래밍 입문용으로는 좋은 언어라고 생각한다

 

 

var과 let은 변수 선언 키워드이고

const는 상수 선언 키워드이다

 

var과 let의 차이점은 

var은 선언후 재선언이라는 것이 가능하다

var a = 4;
var a = 7; // 오류 없음ㅋㅋ

그래서 위와같은 충격적인 상황이 발생하는데

왜 충격적인지 굳이 설명하자면 보통의 일반적인 변수들은 같은 이름으로두 번선언되면 오류가 발생한다.

 

하지만  var은 그렇지 않고렇기에 이름 중복 오류를 찾기도 힘들다

따라서 보통 var변수의 사용은 권장되지 않으며

그냥 대충 코드짤때 쓴다

 

 


C#과 보통의 다른 언어들은 변수를 선언할 때

앞에 자료형 쓰고 그 자료형에 맞는 변수를 만든다

예를 들자면

int number = 12;
string name = "ming";
float nn = 1.4f;
bool isWork = true;

이런 식이다

 

그런 이유에서 자료형을 알아야 필요에 맞는 적절한 변수를 선언할 수 있다

그래도 코드 몇 번 깔짝대보면 자료형은 금방 외워진다

 

숫자를 표현할 수 있는 자료형은 굉장히 많은데

short _short = 1;
int _int = 2;
float _float = 1.5f;
double _double = 1.5;
uint _uint = 1;
long _long = 5;

등등 굉장히 많다

short는 2바이트의 크기를 가진 비교적 작은 수를 표현하기 위한 자료형이고

흔히 쓰는 int는 4바이트의 크기를 가졌으며 -21억 ~ 21억 까리 표현이 가능하다


floatdouble은 둘 다 소수를 표현하기 위한 자료형인데

float은 4, double은 8바이트의 크기를 가졌고 double은 더 작은 소수를 표현할 수 있다

 

uint의 u는 흔히 다른 언어에서 unsigned라 표기하는 것의 줄임말로,

이는 자연수만 표기할 때 사용할 수 있다

앞서 int자료형으로 -21억 ~ 21억까지 표현이 가능하다고 말했는데

uint를 쓴다면 0 ~ 42억 까지 표현가능한 것이다

 

long은 8바이트의 2의 64 승개의 수를 표현할 수 있다

보통은 이런 큰 수를 쓸 일이 존재하지 않는데

정말로 엄청나게 큰 수가 필요한 경우.
팩토리얼과 같은 수가 금방 천문학적으로 커지는 공식과 알고리즘 같은 곳에 쓴다