개발자 성장일지
Part 학생 관리 클래스 모델링 실습 - 2 본문
1. Enum.cs
- 열거형을 정의하는데 사용되는 특별한 형식
- 열거형: 명명된 상수의 집합을 나타내며, 일반적으로 관련 있는 값을 그룹화할 때 사용
namespace ConsoleApp1
{
public enum Sex
{
남성, 여성, 미확인
}
public enum Grade
{
학년_1 = 1, 학년_2 = 2, 학년_3 = 3
}
public enum StudentClass
{
반_1 = 1, 반_2 = 2 , 반_3 = 3, 반_4 = 4
}
}
2. StudentMgr.cs
namespace ConsoleApp1
{
internal class StudentMgr
{
public void Run()
{
Student st = RegistStudent();
st.PrintMe();
}
private Student RegistStudent()
{
Console.WriteLine("학년 [숫자만 입력]: ");
string grade = Console.ReadLine();
Console.WriteLine("반 : ");
string stclass = Console.ReadLine();
Console.WriteLine("번호 : ");
string stnumber = Console.ReadLine();
Console.WriteLine("이름 : ");
string stname = Console.ReadLine();
Student st = new Student(
(Grade)Enum.Parse(typeof(Grade), grade),
(StudentClass)Enum.Parse(typeof(StudentClass), stclass),
Convert.ToInt32(stnumber),
stname
);
return st;
}
}
}
3. Student.cs
namespace ConsoleApp1
{
internal class Student
{
// 필드. 프로퍼티
public Grade Grade { get; set; }
public StudentClass StCalss{ get; set; }
public int StNumber { get; set; }
public string StName { get; set; } // NotNull
public string StAddress { get; set; }
public int StHigh { get; set; }
public int StWeight { get; set; }
public int StAge { get; set; }
public Sex StSex { get; set; } // Enum Sex 참조
// 생성자
public Student(Grade grade, StudentClass stclass, int stunumber, string stname, Sex sex)
{
this.Grade = grade;
this.StCalss = stclass;
this.StNumber = stunumber;
this.StName = stname;
}
public Student(Grade grade, StudentClass stclass, int stunumber, string stname)
: this(grade, stclass, stunumber, stname, Sex.미확인)
{
}
public void PrintMe()
{
Console.WriteLine(Grade + " , " + StCalss + " , " + StNumber + "[" + StName + "]");
}
}
}
'인프런 > C# 프로그래밍 기초' 카테고리의 다른 글
Part 제네릭, GENERICS (0) | 2023.12.06 |
---|---|
Part 구조체 (1) | 2023.12.05 |
Part 인터페이스 - 2 (0) | 2023.12.04 |
Part Abstract 클래스 && 인터페이스 - 1 (0) | 2023.12.02 |
Part 학생 관리 클래스 모델링 - 1 (0) | 2023.11.29 |