본문 바로가기
C#/수업내용

[ C# 8일차 ] 프로퍼티

by 왹져박사 2023. 1. 10.
728x90

 

 

App Class

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study09
{
    class App
    {
        //생성자
        public App()
        {
            Console.WriteLine("App");

            //객체를 초기화
            //방법1
            //멤버변수 id의 한정자는 private
            //Hero hero = new Hero(100);

            //방법2
            //멤버변수 id의 한정자는 public
            //Hero hero = new Hero();
            //hero.id = 100;

            //방법3
            //메서드 활용
            //Hero hero = new Hero();
            //hero.SetId(100);
            //int heroId = hero.GetId();

            //방법4
            //프로퍼티
            Hero hero = new Hero();
            hero.Id = 100;

            Console.WriteLine(hero.Id);
        }
    }
}

 

Hero Class

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study09
{
    class Hero
    {
        //필드 설정
        private int id;

        //프로퍼티(속성)
        public int Id
        {   //프로퍼티 바디
            get
            {
                return this.id;     //멤버변수(필드)반환
            }
            set
            {
                this.id = value;        //value는 매개변수처럼 사용함
            }
        }

        //생성자
        public Hero()
        {
            
        }

        public void SetId(int id)
        {
            this.id = id;
        }

        public  int GetId()
        {
            return this.id;
        }
    }
}
728x90