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);
}
}
}
}