오늘 배운 내용
- 구조체
구조체
구조체란?
- 구조체는 사용자가 직접 만드는 자료형이다.
(나만의 커스텀 자료형)
- 우리가 평소에 사용하는
int와 같은 자료형도 IDE에서 만들어둔 심플타입인것이다.
- 구조체는 값타입이다.
구조체의 형태
struct 선언하고자하는 자료형명
{
구동하고자하는 형태
}
구조체의 예시
- 이전에 자료형을 배웠을때 만약에 사람들의 정보를 적는다면,
int, string, float 을 사용하여, 각각 사람에에 대한 정보를 적어준후 Console.Writeline을 사용해서 여러 사람의 정보를 각각 출력해주는 작업을 했었다.
- 구조체를 사용하여, 여러명의 정보를 입력했을때 출력까지 해야한다면 일일이 입력하지않고 정보만 입력하여, 빠르게 일을 처리 할 수 있다.
class Program
{
static void Main(string[] args)
{
StudentInfo[] students = new StudentInfo[3];
students[0] = new StudentInfo("데비", 20, 164f, "각오 단단히 해!");
students[1] = new StudentInfo("마를렌", 20, 164f, "우린 붙어있을때 최강이니깐");
students[2] = new StudentInfo("히스이", 18, 164f, "히스이, 준비완료");
foreach (StudentInfo student in students)
{
student.PrintInfo();
}
}
struct StudentInfo
{
private string Name;
private int Age;
private float Height;
private string OneWord;
public StudentInfo(string name, int age, float height, string oneWord)
{
Name = name;
Age = age;
Height = height;
OneWord = oneWord;
}
public void PrintInfo()
{
Console.WriteLine("-------------");
Console.WriteLine($"이름 : {Name}");
Console.WriteLine($"나이 : {Age} 살");
Console.WriteLine($"키 : {Height} cm");
Console.WriteLine($"한마디 : {OneWord}");
}
}
- 원래라면 각각의 데이터도 기입해주면서 출력도 각각 해줬어야하는데, 구조체를 이용하여 배열만 늘려주고 학생의 정보만 기입해주면 여러명의 데이터를 쓰는 작업이 줄어든다.
Private 와 Public
- 구조체(내부)를 만들때 Public은 Main(외부)에서 가져다 쓸때 수정이 가능하다.
- 구조체(내부)를 만들때 Private은 Main(외부)에서 가져다 쓸수는 있어도 수정하는것이 불가능한 형태이며, private가 들어있는 내용은 내부에서만 가지고 쓸수있다.
- 구조체도 사실 어제 배운내용인데 과제를 하다보니 어느새 정리할 시간이 없어서 어제는 열거형을 따로 정리하고 오늘 정리하게되었다... 빠르게 용어들을 이해하고 응용하는법을 익혀야겠다.