개발자 성장일지

Part 학생 관리 클래스 모델링 실습 - 2 본문

인프런/C# 프로그래밍 기초

Part 학생 관리 클래스 모델링 실습 - 2

hdigimon 2023. 11. 30. 19:36

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