using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _01_ClassNStruct
{
struct DateStruct //c#에서는 구조체 없어도 됨 class가 구조체랑 똑같기 때문에
{
public int year, month, day;
}
class DateClasss
{
public int year, month, day;
}
class Program
{
static void Main(string[] args)
{
//65장 클래스와 구조체
DateStruct sDay;
sDay.year = 2021;
sDay.month = 4;
sDay.day = 20;
DateClasss cDay = new DateClasss();
cDay.year = 2021;
cDay.month = 4;
cDay.day = 20;
Console.WriteLine("sDay : {0}/{1}/{2}", sDay.year, sDay.month, sDay.day);
Console.WriteLine("cDay : {0}/{1}/{2}",cDay.year, cDay.month, cDay.day);
DateStruct s = sDay; //값형 >> 복붙
DateClasss c = cDay; //참조형 >> 주소만 가리키기만 함
s.year = 2000; //s값을 바꿨다고 sDay의 값이 바뀌지는 않는다.
c.year = 2000; //c값을 바꾸면 주소로 가르켰기 때문에 값도 바뀐다.
Console.WriteLine("sDay : {0}/{1}/{2}", sDay.year, sDay.month, sDay.day);
Console.WriteLine("cDay : {0}/{1}/{2}", cDay.year, cDay.month, cDay.day);
}
}
}