using System;
using System.Numerics;
namespace Rookiss_CSharp
{
class Program
{
class Knight
{
public int hp;
public int attack;
// 생성자
public Knight()
{
hp = 100;
attack = 10;
Console.WriteLine("생성자 호출!");
}
public Knight(int hp) : this()
{
this.hp = hp;
Console.WriteLine("int 생성자 호출!");
}
public Knight(int hp, int attack)
{
this.hp = hp;
Console.WriteLine("int, int 생성자 호출!");
}
public Knight(Knight knight)
{
this.hp = knight.hp;
this.attack = knight.attack;
Console.WriteLine("복사 생성자 호출!");
}
public Knight Clone()
{
Knight knight = new Knight();
knight.hp = this.hp;
knight.attack = this.attack;
return knight;
}
public void Move()
{
Console.WriteLine("Knight Move");
}
public void Attack()
{
Console.WriteLine("Knight Attack");
}
}
struct Mage
{
public int hp;
public int attack;
}
static void Main(string[] args)
{
Knight knight = new Knight(10);
Knight knight2 = knight.Clone(); // 깊은복사
}
}
}
참조
생성자 | [C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
생성자
www.inflearn.com
38강 생성자
'C# > 기본 문법' 카테고리의 다른 글
| C# 상속성 (0) | 2025.11.02 |
|---|---|
| C# static (0) | 2025.11.01 |
| C# 메모리 영역 (0) | 2025.11.01 |
| C# 객체 지향 시작 및 복사와 값 참조 (0) | 2025.11.01 |
| C# TextRPG (0) | 2025.11.01 |