다음을 통해 공유


방법: ToString 메서드 재정의(C# 프로그래밍 가이드)

업데이트: 2007년 11월

C#의 모든 개체는 ToString 메서드에서 상속되고 이는 해당 개체에 대한 문자열 표현을 반환합니다. 예를 들어, int 형식의 모든 변수에는 그 내용을 문자열로 반환하는 데 사용할 수 있는 ToString 메서드가 있습니다.

int x = 42;
string strx = x.ToString();
System.Console.WriteLine(strx);

사용자 지정 클래스나 구조체를 만들 때 클라이언트 코드에 해당 형식에 대한 정보를 제공하려면 ToString 메서드를 재정의해야 합니다.

보안 정보:

이 메서드를 통해 제공할 정보를 결정할 때는 클래스나 구조체가 신뢰할 수 없는 코드에서 사용될지를 고려합니다. 악성 코드에서 악용될 수 있는 정보는 제공하지 마십시오.

클래스나 구조체에서 OnString 메서드를 재정의하려면

  1. 다음 한정자와 반환 형식을 사용하여 ToString 메서드를 선언합니다.

    public override string ToString(){}
    
  2. 문자열이 반환되도록 메서드를 구현합니다.

    다음 예제에서는 클래스의 이름뿐 아니라 클래스의 특정 인스턴스와 관련된 데이터도 반환합니다. 또한 이 예제에서는 age 변수의 ToString 메서드를 사용하여 int를 출력할 수 있는 문자열로 변환합니다.

    class Person
    { 
      string name;
      int age;
      SampleObject(string name, int age)
      {
      this.name = name;
      this.age = age;
      }
      public override string ToString() 
      {
         string s = age.ToString();
         return "Person: " + name + " " + s;
      }
    }
    

참고 항목

개념

C# 프로그래밍 가이드

참조

클래스 및 구조체(C# 프로그래밍 가이드)

new(C# 참조)

override(C# 참조)

virtual(C# 참조)