프로그램/C# - Study / / 2010. 9. 14. 12:10

7D - 오버로딩

반응형


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Ex11OOP2
{
    class Program
    {
        static void Main(string[] args)
        {
            //int x;
            //x = 10; //할당, 대입
            //int y = 20; //초기화

            // 생성자메서드 (오버로딩 가능)
            //Person person = new Person(); //매개변수가 없는 생성자메소드 자동호출 )
            //객체 생성 구문 = 생성자 메서드 호출 구문

            Person person = new Person(1, "장동선", "011-9425-xxxx", "newtoynt@nate.com");
            // 매개변수가 있는 생성자메소드 에 초기화 셋팅

            Console.WriteLine(person.GetPersonInfo());
        }
    }
}

************************************************** 코드추가 **************************************************

using System;

namespace Ex11OOP2
{
    class Person
    {
        private int number;
        public int Number  // 리펫터링 -> 필드캡슐화
        {
            get { return number; }
            set { number = value; }
        }

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

        private string phone;       
        public string Phone
        {
            get { return phone; }
            set { phone = value; }
        }

        private string email;
        public string Email
        {
            get { return email; }
            set { email = value; }
        }

        // public Person() {  } 생성자를 안만들어도 기본으로 이건 생략이 되어 있다
        public Person() //main 생성자
        {
            Console.WriteLine("전달인자 없는 생성자 메서드 호출");
        }
        public Person(int number, string name, string phone, string email)
            :this()  // this() 해주면 전달인자 없는 생성자메서드 도 호출된다(상호간 호출가능)
        {// 전달인자가 있는 생성자를 만들지 전달인자가 없는 생성자도 만들어 줘야한다!
            Console.WriteLine("전달인자 있는 생성자 메서드 호출");
            this.number = number;
            this.name = name;
            this.phone = phone;
            this.email = email;
        }

        //기능(Method)
        public string GetPersonInfo()
        {           //Console.WriteLine 와 같다
            return string.Format(
                "[{0}][{1}][{2}][{3}]", number, name, phone, email);
        }
    }
}

반응형

'프로그램 > C# - Study' 카테고리의 다른 글

7D - 상속, protected  (0) 2010.09.14
7D - readonly, const  (0) 2010.09.14
7D - private, pubic 접근 - 추가  (0) 2010.09.14
6D - private, pubic 접근  (0) 2010.09.13
객체지향은?  (0) 2010.09.13
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유