프로퍼티(Property)

프로퍼티는 클래스 멤버로서, 객체의 필드 값을 읽거나 설정하는 데 사용되는 접근자(Accessor) 메서드의 조합입니다.

객체의 필드에 직접 접근하지 않고, 간접적으로 값을 설정하거나 읽을 수 있도록 합니다.

필드에 대한 접근 제어와 데이터 유효성 검사 등을 수행할 수 있습니다.

프로퍼티는 필드와 마찬가지로 객체의 상태를 나타내는 데이터 역할을 하지만, 외부에서 접근할 때 추가적인 로직을 수행할 수 있습니다.

더보기

[접근 제한자] [데이터 타입] 프로퍼티명
{
    get
    {
        // 필드를 반환하거나 다른 로직 수행
    }
    set
    {
        // 필드에 값을 설정하거나 다른 로직 수행
    }
}

프로퍼티는 get과 set 접근자를 사용하여 값을 읽고 설정하는 동작을 정의합니다.

get 접근자는 프로퍼티의 값을 반환하고, set 접근자는 프로퍼티의 값을 설정합니다.

필요에 따라 get 또는 set 접근자 중 하나를 생략하여 읽기 전용 또는 쓰기 전용 프로퍼티를 정의할 수 있습니다.

 

오버라이딩(Overriding)

부모 클래스에서 이미 정의된 메서드를 자식 클래스에서 재정의하는 것을 의미합니다.

이는 상속 관계에 있는 클래스 간에 발생하며, 메서드의 이름, 매개변수 및 반환타입이 동일해야 합니다.

오버라이딩을 통해 자식 클래스는 부모 클래스의 메서드를 재정의하여 자신에게 맞는 동작을 구현할 수 있습니다.

 

TextRpg 개인과제를 하며 작성한 코드를 예로 들면

더보기

interface Item
{
    string Name { get; set; }
    int Atk get; set; }
    int Def get; set; }
    int Price get; set; }
}//Item

public class Weapon Item
{
    public string Name get; set; }
    public int Atk get; set; }
    public int Def get; set; }
    public int Price get; set; }

    public Weapon(string name, int atk, int def, int price)
    {
        Name = name;
        Atk = atk;
        Def = def;
        Price = price;
    }

    public override string ToString()
    {
        return ($"[E]{Name} | 공격력 +{Atk} | {Price}");
    }
}//class Weapon

위와 같이 재정의를 해 리턴 할수 있다.

 

그리고 오버라이딩(Overriding)과 오버로딩(Overloading)은 객체 지향 프로그래밍에서 다른 개념을 나타내는 두 용어이다.

 

오버로딩(Overloading)

동일한 메서드 이름을 가지고 있지만, 매개변수의 개수, 타입 또는 순서가 다른 여러 개의 메서드를 정의하는 것을 의미합니다.

오버로딩을 통해 동일한 이름을 가진 메서드를 다양한 매개변수 조합으로 호출할 수 있습니다.

 

오늘 과제하다가 머리아파서 쓴 일기.

더보기

개인과제 하는데 게임 만드는 일 정말 어렵다고 느껴짐 근데
꼴에 한 일~이주 코드좀 썻다고 잘 만들고 싶음
문제 보면서 적당히 뼈대만 계속 만들고 수정함
내용물 채워서 게임 같이 만들어야 하는데
어떤걸 먼저 만들어야 하는지 모르겠음
근데 사실 어려운것도 아니고 걍 모름
머리 속에 구상이 있지만 표현이 안됨
내가 게임에 대해 너무 모르나 게임 좀 더 해봤어야 되나 이런생각 듬
인터페이스를 클래스에 묶어서 사용하는게 이해가 안감
test 파일 열어서 여러가지 실험 하는데 잘 되는지 안되는지 조차 판단이 안됨
여러 문법? 등을 알고는 있지만 적용 및 응용이 안됨
안되는거 다시 예제 찾아보면서 익히는데 이해가 더 안됨
그냥 안되는거 투성임
머리 개 뜨거워짐 진짜 도망치고 싶음
팀 과제 아니니깐 도망가도 괜찮지 않나? 이런 생각 계속 함
근데 개인과제도 못하는데 팀과제 하면 민폐니까 그냥 계속 시도함
구글링 해가면 서 하는데  딴 사람꺼 보면 그냥 벽 ㅈㄴ 느껴지고 한숨만 나옴
내가 만들고 있는건 진짜 걍 똥임 게임 개발 개같이 빡셈

오늘 하루 -끝-

반응형