신입 개발자 공부 과정

C# 속성, 이니셜라이저(초기화) 본문

C#/모르는 내용들 공부

C# 속성, 이니셜라이저(초기화)

Lewisjkim 2022. 1. 16. 19:49

속성은 클래스 속성(특징, 성격, 색상, 크기 등)을 나타낸다

사용 목적=

개체필드가 외부에 공개하고자 할 때 사용하며 값 설정 그리고 값 조회를 각자 공개 유무를 정할 수 있다.

ex) 게임 캐릭터가 있고 이 캐릭터의 속성 중 이름을 공개하려고 할 때

using System;

class Ork
{
	//다른 클래스에서 사용이 가능해짐
	public string name {get; set;}//한줄로 하는 자동 속성
    int level;
    int damage;
    int hp;
}

class Program
{
	static void Main()
    {
    	Ork ork = new Ork();
        ork.name = "카리취" //(set)값 설정
        Console.WriteLine(ork.name)//(get)값 조회= 카리취
    }
}

이니셜라이저(초기화)

ex)1

class Marine
{
	public string name {get; set;}//속성
    public int damage; //필드
    
    static void Main()
    {
    	new Marine() {name = "뿅뿅이", damage = 1}; //바로 입력 가능//set
    }
}

ex)2

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

namespace diablo
{
    class Ork
    {
        //다른 클래스에서 사용이 가능해짐
        public string name { get; set; }//속성
        public int damage; //필드
        public Ork()
        {

        }
    }

    class App
    {


        public App()
        {
            Dictionary<string, Ork> dicOrk = new Dictionary<string, Ork>();
            Ork[] orks = new Ork[5];
            orks[0] = new Ork() { name = "뿅뿅이", damage = 1 }; //바로 입력 가능
            orks[1] = new Ork() { name = "춘자", damage = 2 };
            orks[2] = new Ork() { name = "철수", damage = 1 };
            orks[3] = new Ork() { name = "카리취", damage = 3 };
            orks[4] = new Ork() { name = "타르취", damage = 1 };
            
            foreach(Ork ork in orks)
            {
                dicOrk.Add(ork.name, ork);
                Console.WriteLine("{0} 데미지={1}", ork.name, ork.damage);
            }
        }
    
    }
}

'C# > 모르는 내용들 공부' 카테고리의 다른 글

c# 인터페이스 interface  (0) 2022.01.13
c# abstract class 추상 클래스  (0) 2022.01.13
c# Struct 구조체  (0) 2022.01.13
c# 화살표 함수 =>  (0) 2022.01.13
c# 재귀함수  (0) 2022.01.13