Blog Content

    티스토리 뷰

    59.C# - ToString메서드오버라이드 ( ToString Method Override )

    반응형
    - Object클래스에 정의되어 있는 ToString()메서드는 기본적으로 클래스의
       이름값을 반환시켜준다.

    - 또는 정수형과 같이 대표가 되는 값이 들어있는 경우는 그 값을 문자열로
       변환해서 출력해준다.

    - 내가 만든 클래스의 대표가 되는 속성 또는 값을 외부에 인스턴스명으로
       사용해서 출력 할 때는 ToString()메서드를 재정의(오버라이드) 후 사용한다.

    ToString Method Override 관련 예제입니다.


    Program.cs
    using System;
    public class ToString메서드오버라이드
    {
        public static void Main()
        {
            //문자열 변수 : 클래스명
            System.Collections.Stack s = new System.Collections.Stack();
            Console.WriteLine("{0}", s.ToString());//기본값 : 클래스명

            //정수형 변수
            Int32 intNum = 1234;
            Console.WriteLine("{0}", intNum.ToString()); //정수형->문자열

            //내가 만든 클래스에 ToString()을 요청했을때
            //특정한 필드의 값을 바로 출력...
            Car car = new Car(); //Car클래스 생성
            Console.WriteLine(car.Name); //기본값 자동차 출력
            Console.WriteLine(car);
           
            Car sonata = new Car("소나타");
            Console.WriteLine(sonata.Name); //"소나타" 출력

            //ToString()메서드 오버라이드
            Console.WriteLine("{0}",sonata.ToString());
     //해당객체에는 ToString가 만들어져야 하며, override로 선언하여 사용한다.
            Console.WriteLine("{0}", sonata);
        }
    }

    Car.cs
    using System;

    public class Car
    {
        private string name; //Field

        public string Name // Property
        {
            get { return name; }
            set { name = value; }
        }

        public Car() //Constructor
        {
            this.name = "자동차";
        }

        public Car(string name)
        {
            this.name = name;
        }

        public override string ToString()
        {
            return name; //name값 출력
        }
    }

    결과화면

    반응형

    Comments