[C# 기초강의] Ch 03. 데이터를 담는 변수와 상수

728x90

https://www.youtube.com/watch?v=LKyDIjYMGwc&list=PLVsNizTWUw7GN8wPRhclbKuQa9aI9Cj2V&index=4

 

◾ CPU의 연산 장치

  • ALU : 정수만 처리
  • FPU : 부동 소수점 수만 처리
    → CPU에게 데이터 종류에 따라 명령을 내려야 함.

 

◾ 데이터 형식의 종류

  • 데이터의 유형과 크기 지정
  • 기본 데이터 형식
    • 정수 형식 : char/ uchar ,signed byte / byte , short / ushort . int / uint ...)
      → u~ : 부호가 없다
    • 부동 소수 형식 : float. double
  • 복합 데이터 형식
    • 클래스
    • 구조체
    • 인터페이스

 

◾ 변수의 개념

  • 데이터를 저장할 수 있는 메모리 공간
  • 코드에서 이름(식별자)를 붙여 사용

 

◾ 메모리

1. 스택

  • 데이터를 쌓아 올리는 구조의 메모리
  • 뒤에 들어온 데이터가 먼저 나감
  • 쌓인 순서의 역순으로 필요 없는 데이터를 자동으로 제거 (자동 메모리)

2. 힙

  • 자유롭게 데이터를 저장할 수 있는 메모리
  • 꺼낼 때 제약이 없다.

 

◾ 값형식과 참조형식

1. 값형식

  • 메모리에 값을 담는 데이터 형식
  • 스택에 할당 (자동 제거 ; 가장 먼저 들어온 데이터 먼저)
  • 기본데이터 형식과 구조체가 해당

2. 참조형식

  • 메모리에 다른 변수의 주소를 담는 데이터 형식
  • 힙에 할당 ( GC에 의해 자동 제거)
  • 복합 데이터 형식과 클래스 등이 해당

◾ 기본 데이터 형식

  • C#이 제공하는 기본 데이터 형식
  • 복합데이터는 기본형식은 데이터 형식을 바탕으로 만들어짐

1. 수 형식

- 정수 형식 : int / uint, short / ushort , byte / sbyte- 부동 소수점 형식 : float, double, decimal

2. 논리 형식 (bool)

3. 문자열 형식(string)

4. object 형식

 

◾ 박싱과 언박싱

  • 박싱 : 값 형식을 object 형식에 담아 힙에 올리는 것
  • 언박싱 : 힙에 올라가 있는 데이터를 object 에서 꺼내 값으로 옮기는 것

 

◾ 상수와 열거 형식

  • 변수 : 변경이 가능한 수
  • 상수 : 최초의 상태를 유지하는 수
    const 키워드를 이용하여 선언
  • 열거 형식 : 하나의 이름 아래 묶인 상수들의 집합
    enum 키워드를 이용해 선언
const int RESULT_A =0;
const int RESULT_B =1;
const int RESULT_C =2;
const int RESULT_D =3;
const int RESULT_E =4;
enum DialogResult
{
	A,
    B,
    C,
    D,
    E
}

 

◾ var 키워드

  • var 키워드로 선언한 변수는 컴파일러가 리터럴을 분석하여 자동으로 형식 추론
  • 지역 변수에 대해서만 사용 가능 (클래스 및 구조체 사용 불가)
var a= 3;
var b = "Hello";
728x90