스토리지

객체를 출력할 때 하나하나 멤버를 안 호출하고 객체를 출력하기 본문

Unity/문제해결

객체를 출력할 때 하나하나 멤버를 안 호출하고 객체를 출력하기

ljw4104 2021. 3. 16. 17:55

Object 클래스의 ToString() 함수를 오버라이딩.

오버로딩 : 같은 함수이름, 다른 매개변수.

오버라이딩 : 상위 클래스에서 정의된 함수를 자식 클래스가 재정의.

 

대개, C#은 모든 것이 객체이다. int형도 INT32의 객체이다. 즉 모든 객체는 Object 클래스의 상속을 받으며 Object 클래스는 인스턴스를 출력하는 string ToString()이라는 함수를 가지고 있다.

 

public override string ToString()
{
    return base.ToString();
}

기본적인 형태로 return되는 곳에 형식을 지정해준 후 string 형식으로 리턴해주면 된다.

 

public override string ToString()
{
    string result = String.Format("{0}, {1}, {2}, {3}", this.ID, this.bpm, this.songName, this.composer);
    return result;
}

이렇게 함수를 구현 후, Console.WriteLine(해당 클래스의 객체) => 출력시 위와 같은 형태로 그대로 출력이됨.

Comments