개요

C#은 객체 지향 언어이다.

객체 지향 언어에서 클래스는 현실 세계의 개념을 코드로 모델링하는 기본 단위이며,

객체는 그 클래스의 설계도를 바탕으로 생성되는 실체이다.

OOP의 이해를 기반으로 클래스와 객체의 핵심 개념과 구성 요소를 정확하게 이해하고

이를 통해 상속과 다형성, 추상화, 캡슐화, 인스턴스화를 살펴본다.

클래스란?

클래스(Class)는 객체를 생성하기 위한 설계도이다.

어떤 속성(데이터)을 가지며, 어떤 동작(기능)을 수행할 것인지 정의한다.

클래스의 구성 요소


public class Player
{
    public string name;
    private int hp;

    public Player(string name, int hp)
    {
        this.name = name;
        this.hp = hp;
    }

    public void Attack()
    {
        Console.WriteLine($"{name}이 공격한다!");
    }

    ~Player()
    {
        Console.WriteLine("플레이어 객체 삭제됨");
    }
}

이제 클래스를 구성하는 것들에 대해서 살펴보자.