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 |