본문 바로가기

C#/기본 문법

C# 생성자

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(); // 깊은복사
        }
    }
}

 

 

참조

https://www.inflearn.com/courses/lecture?courseId=324718&roadmapId=355&tab=curriculum&type=LECTURE&unitId=32808&subtitleLanguage=ko

 

생성자 | [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