열거형(Enumeration) bool 타입과 매우 유사하다.
enum byte
{0, 1, 2, 3, 4, 5, 6, 7....255}
- 자료형(데이터를 담을 수 있는 형태와 길이..)
- 사용자 정의형
- 사용자가 원하는 형태로 자료형을 지정할수 있다.
- Console.WriteLine((int)c1);
형변환후 출력시 0이나온다.
enum선언시 class위에 선언하는 이유? enum, struct
열거형이며 구조체이기 때문에 하나의 메모리를 사용하는 클래스 위에 기재한다. 여러 메모리를 사용하기 때문에..
enum Color
{ Red, Blue, Yellow, Green, Purple }
enum{0, 1, 2, 3, 4}
번호 사용시 옵션들을 선택하고 관리하기 굉장히 편해진다.
열거형은 옵션의 느낌이라고 생각 한다. 이러한 것들을 열거형이라고
한다.
열거형 사용목적
- 제시된 값들 중 선택해서 사용해야 하는 경우
- 오타 감소 => 가독성 향상
- 사용자에게 자유롭게 사용하라
1. 열거형 선언(정의) enum Color { Red, Blue, Yellow, Green, Purple }
2. 자료형 사용 다른 문법 사용과 겹치다 보니 Color c1 =
Color.Red; 형태로 사용한다.
using System;
namespace Csharp
{
enum Color { Red, Blue, Yellow, Green, Purple }
enum AnimalPrice {Mouse=1000, Cat=50000, Bird=20000,
Dog=10000, Pig=30000}
//내부적으론 숫자10 외부적으론 Animal.Mouse
class Test
{
public static void Main(string[] args)
{
Color
c1 = Color.Red;
Console.WriteLine(c1);
string
c2 = "Rad";
Console.WriteLine(c2);
Color
c3 = Color.Yellow;
Console.WriteLine(c3);
Console.WriteLine((int)c1);//*
//동물 구매(돼지)
AnimalPrice
mouse = AnimalPrice.Mouse;
Console.WriteLine(mouse);
Console.WriteLine((int)mouse);
}
}
}
구조체(struct)
구조체 사용이유 : 데이터 관리를 위해서
- 클래스와 유사
- 변수들의 집합체
변수의 복잡한 것들을 정리하기 위해 만든것
1. 구조체 선언(정의)
- 데이터자료형부터 만든다. struct
Point{ public
int x; public int y;} => 문법규칙임
인티져 변수2개를 붙여놓은 형식이다. 레고블럭 조립처럼 인티져블록을 모아서 만들어 놓고 이름을 지정함
메모리안 스택에
Point 라는 이름으로 X와 Y를
갖는다.