using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Ex10OOP
{
class Program
{
static void Main(string[] args)
{
Person person; //참조변수 생성
person = new Person(); // 객체생성 및 할당
//Person person = new Person(); 이렇게 줄여서 가능
// 1. acces public field
//person.Number = 1;
//person.Name = "장동건";
//person.Phone = "011-9425-XXXX";
//person.Email = "newtoynt@nate.com";
// 2. acces private field
person.SetNumber(1); // 직접 접근이 아니라 메서드를 통해 접근한다
person.SetName("장동건");
person.SetPhon("011-9425-XXXX");
person.SetEmail("newtoynt@nate.com");
Console.WriteLine(person.GetPersonInfo());
}
}
}
******************************* 새항목 코드 추가 **********************************************
using System;
namespace Ex10OOP
{
class Person
{
#region public field
//특성 (Data)
//public int Number;
//public string Name;
//public string Phone;
//public string Email;
//public string GetPersonInfo()
//{ //Console.WriteLine 와 같다
// return string.Format(
// "[{0}][{1}][{2}][{3}]", Number, Name, Phone, Email);
//}
#endregion
#region public field
private int number; // private 같은 클래스 접근만 가능
private string name;
private string phone;
private string email;
#endregion
public int GetNumber() { return number; }
public void SetNumber(int number)
{
if (number > 0)
{
this.number = number;
}
else
{
//강제로 오류를 발생
throw new ArgumentException("0보다 커야 합니다.");
}
}
public string GetName() { return name; }
public void SetName(string name)
{
this.name = name;
}
public string GetPhon() { return phone; }
public void SetPhon(string p) { phone = p; }
public string GetEmail() { return email; }
public void SetEmail(string e) { email = e; }
//기능(Method)
public string GetPersonInfo()
{ //Console.WriteLine 와 같다
return string.Format(
"[{0}][{1}][{2}][{3}]", number, name, phone, email);
}
}
}
/************************************************************
* 명명규칙
* 1. Oascal 기본 / Camel 선택적
* Camel : 지역변수, 전달인자, private/protected field(언더스코어 자료 사용도하다)
* Pascal : 위 경우를 제외한 나머지 모든 경우
*
* *********************************************************/
'프로그램 > C# - Study' 카테고리의 다른 글
7D - 오버로딩 (0) | 2010.09.14 |
---|---|
7D - private, pubic 접근 - 추가 (0) | 2010.09.14 |
객체지향은? (0) | 2010.09.13 |
6D - 배열 , 다차원 배열, Langth(), Sort(), Reverse(), IndexOf() 기능 (0) | 2010.09.13 |
Report01 - 로또생성기 확인버젼 (0) | 2010.09.10 |