본문 바로가기
C#/C# 일반 & Basic (General & Basic)

C# 프로그래머 되기 Property 선언 or 초기화 방법 및 추상 클래스 이용한 Property 활용

by ★√★ 2021. 3. 4.

안녕하세요  오늘 포스팅 할 사항은 Property (약간 get set 이라는 느낌으로 생각하셔도 됩니다.) 항목에 대해서 다양항 방법으로 응용 및 활용하는 방법에 대해서  설명해 드리겠습니다.

 

 

Property-선언-썸네일

 

Property(Get, Set) 선언

 

 1) 다른 메소드 or 변수를 이용하여, 선언하기

   : 다른 변수 test1, 2를 선언하여, test3의 value 값을 test1,2 값을 return 시켜 값을 입력. 예시 코드는 아래와 같습니다.

 

 

===================================================================

 

class Property_Demon1 
    { 
        private string test1; 
        private string test2; 

        public string test3 
        { 

            get { return test1; } 
            set { test1 = value; } 

        } 

        public string test4 
        { 

            get { return test2; } 
            set { test2 = value; } 

        } 

    }

 

=================================================================

 

 2) 다른 메소드 or 변수와 동시에 초기화 하기 

   : Title 이름 대로, 변수 선언과 동시에, Value 값을 입력하여, 각 변수에 값을 입력. 예시 코드는 아래와 같습니다.

    개인적으로 1번 항목 보다는 더 간단하게 값을 입력 할 수 있어서 좋습니다.

 

=================================================================

class Property_Demon1 

    { 

        public string test1 { get; set; } = "Verification1 입니다."; 

        public string test2 { get; set; } = "Verification2 입니다."; 

    }

 

=================================================================

 

3) 초반에 초기화 하지 않고 Instance 생성 시 값을 부여.

: 초반에 초기화 하지 않고, Main 항목에서 Instance 생성과 함께, 초기값을 부여하는 방식입니다. 예시 코드는

    아래와 같습니다.

 

=================================================================

 

 class Property_Demon1 

    { 

        public string test1 { get; set; } 

        public string test2 { get; set; } 

    }



class Property_MainApp 
    { 
        static void Main(string[] args) 
        {

           Property_Demon1 instance1 = new Property_Demon1() 
            { 

                test1 = "첫번째 한꺼번에 Property 선언을 위한 TEST 입니다.", 
                test2 = "두번째 한꺼번에 Property 선언을 위한 TEST 입니다." 

            };

       }

=================================================================

 

 

위 항목을 각각 Instance를 선언하여, Main Code까지 완성한 전체 Code는 아래와 같습니다. 

 

=================================================================

using System;

using System.Collections.Generic;

using System.Text;

 

namespace Property_namespace01

 

{

  

    class Property_Demon1 // 다른 다른 메소드 or 변수를 이용하여, 값을 반환 받아 입력.

    {

        private string test1;

        private string test2;

 

        public string test3

        {

 

            get { return test1; }

            set { test1 = value; }

 

        }

 

        public string test4

        {

 

            get { return test2; }

            set { test2 = value; }

 

        }

 

    }

 

    class Property_Demon2 // 다른 메소드 or 변수 선언과 동시에 값을 입력.  

 

    {

 

        public string test5 { get; set; } = "Verification1 입니다.";

 

        public string test6 { get; set; } = "Verification2 입니다.";

 

    }

 

    class Property_Demon3

 

    {

 

        public string test7 { get; set; }

 

        public string test8 { get; set; }

 

    }

 

 

 

    class Property_MainApp

    {

        static void Main(string[] args)

        {

 

            Property_Demon1 instance1 = new Property_Demon1();

            Property_Demon2 instance2 = new Property_Demon2();

            Property_Demon3 instance3 = new Property_Demon3()  // Instance 생성과 동시에 같이 초기값 지정

            {

 

                test7 = "첫번째 한꺼번에 Property 선언을 위한 TEST 입니다.",

                test8 = "두번째 한꺼번에 Property 선언을 위한 TEST 입니다."

 

            };

 

            instance1.test3 = "Auto Property1 TEST 입니다.";

            instance1.test4 = "Auto Property2 TEST 입니다.";

 

 

 

            Console.WriteLine(instance1.test3);

            Console.WriteLine(instance1.test4);

 

            Console.WriteLine("");

 

            Console.WriteLine(instance2.test5);

            Console.WriteLine(instance2.test6);

 

            Console.WriteLine("");

 

            Console.WriteLine(instance3.test7);

            Console.WriteLine(instance3.test8);

 

          

            Console.ReadKey();

 

 

 

        }

    }

}

=================================================================

 

위 코드를 실행 시켜 보면 아래와 같은 결과 값을 보실 수 있습니다.

 

 

Property코드-구현-사진

 

추상 클래스를 이용하여, Property 구문 구현

: 추상 클래스를 이용하여, Proeprty 구문을 구현하는 방법으로, 사실, get set만 이용하시면 간단하게 이해가 가능합니다. 일단 추상 클래스를 선언을 하실 때 예전에는 빈칸으로 구현하였지만, 여기에서는 get set 을 입력하여 먼저 선언을 합니다. 선언한 기본 구문은 아래와 같습니다. 

 

===================================================================

 

namespace Property_namespace01

 

{

 

    abstract class Unclear1

    {

 

        private static int number1 = 0;

        public string number2

        {

            get { return String.Format("{0:0.0000}", number1++); }

        }

 

        abstract public string verification01

        {

            get;

            set;

        }

    }



 

    class Unclear2 : Unclear1

    {



// 이전 추상 클래스 설명 드릴 때 말씀 드렸듯이, 추상 클래스를 이용시, override 를 해줘야 합니다.       

       public override string verification01 

      

        {

            get;

            set;

 

        }

    }

===================================================================

 

지금까지 Property (약간 get set 이라는 느낌으로 생각하셔도 됩니다.) 항목에 대해서 다양항 방법으로 응용 및 활용하는 방법에 대해서 포스팅을 작성하였습니다. 추상 클래스 이용하는 방법은 이전에 Posting 아래 글 참조하시면 이해가 더 쉬우실 겁니다. 


그럼 여기에서 이번 Posting은 마무리하도록 하겠습니다. Property는 사용자의 성향에 따라 틀린데, 기존 변수 or 메소드를 사용자가 어떻게 이용하느냐에 따라, 응용하는 방법도 틀리고, 사용하는 방법이 다양할 거라고 예상합니다. 제가 설명드린 거 말고도, 다양한 이론이 있을 거라고 생각하니까, 다른 도서나, 인터넷 자료 참조하셔서, 프로그래밍 하시면 될 거 같습니다. 그럼 제 Posting이 C# 프로그래머가 되는데 조금이나마 도움이 되셨으면 합니다. 감사합니다.


[저작권이나, 권리를 침해한 사항이 있으면 언제든지 Comment 부탁 드립니다. 검토 후 수정 및 삭제 조치 하도록 하겠습니다. 그리고, 기재되는 내용은 개인적으로 습득한 내용이므로, 혹 오류가 발생할 수 있을 가능성이 있으므로, 기재된 내용은 참조용으로만 봐주시길 바랍니다. 게시물에, 오류가 있을때도, Comment 달아 주시면, 검증 결과를 통해, 수정하도록 하겠습니다.]

728x90

댓글


// 내부링크를 현재창으로 열기 // Open internal links in same tab