프로그램/C# - Study / / 2010. 9. 13. 12:41

6D - private, pubic 접근

반응형


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 : 위 경우를 제외한 나머지 모든 경우
 *
 * *********************************************************/

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유