• 티스토리 홈
  • 프로필사진
    유니얼
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
유니얼
  • 프로필사진
    유니얼
    • 분류 전체보기 (295)
      • Unity (17)
        • 게임 개발 (5)
      • Unreal (24)
        • 게임 개발 (20)
      • DirectX (36)
      • 코딩테스트 (91)
        • 프로그래머스 (25)
        • 백준 (66)
      • Google Workspace (1)
      • Programing (102)
        • C# (68)
        • C++ (24)
        • JavaScript (10)
      • 게임 서버 프로그래밍 (17)
      • Web (6)
        • 슈퍼코딩 (6)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
    등록된 댓글이 없습니다.
  • 최근 공지
    등록된 공지가 없습니다.
# Home
# 공지사항
#
# 태그
# 검색결과
# 방명록
  • C# 프로그래밍의 기초 : Property (프로퍼티)
    2024년 03월 03일
    • 유니얼
    • 작성자
    • 2024.03.03.:18
    728x90

    C# 프로그래밍에서 프로퍼티(Property)는 클래스의 멤버 변수(필드)에 대한 접근을 제어하는 강력한 방법을 제공합니다. 프로퍼티를 사용함으로써, 개발자는 필드에 대한 읽기와 쓰기 접근을 캡슐화하고, 필드 값에 대한 유효성 검사나 추가적인 로직을 실행할 수 있는 기능을 제공받게 됩니다. 이는 객체의 상태 관리를 보다 안전하고 유연하게 할 수 있게 해줍니다.

    프로퍼티의 주요 특징

    캡슐화(Encapsulation)

    프로퍼티를 통해 클래스 외부에서 필드에 직접적으로 접근하는 것을 막고, 대신 정의된 접근자(getter/setter)를 통해 접근을 제어합니다. 이를 통해 객체의 상태를 보호하고, 필요한 유효성 검사나 추가 로직을 필드 값 변경 시 실행할 수 있습니다.

    읽기 전용(Read-Only) 및 쓰기 전용(Write-Only) 프로퍼티

    프로퍼티는 get 접근자와 set 접근자를 통해 읽기와 쓰기의 가능성을 제어할 수 있습니다. get만 제공하는 경우 읽기 전용, set만 제공하는 경우 쓰기 전용 프로퍼티가 됩니다. 이는 필드에 대한 접근 제어를 더욱 세밀하게 할 수 있게 해줍니다.

    자동 구현 프로퍼티(Auto-Implemented Properties)

    구현 로직이 필요 없는 간단한 프로퍼티의 경우, C#에서는 필드를 명시적으로 선언하지 않고도 프로퍼티를 간결하게 작성할 수 있는 자동 구현 프로퍼티를 제공합니다. 이는 코드의 간결성을 높이는 데 도움을 줍니다.

    데이터 바인딩(Data Binding)

    프로퍼티는 UI 프로그래밍에서 데이터 바인딩을 위해 널리 사용됩니다. 객체의 프로퍼티가 변경될 때 UI 요소가 자동으로 업데이트되어야 할 경우, 프로퍼티를 활용하여 이를 구현할 수 있습니다.

    프로퍼티 사용 예제

    using System;
    
    class Program
    {
        class Person
        {
            private string name; // private 필드
    
            // public 프로퍼티
            public string Name
            {
                get { return name; } // 읽기 접근자
                set { name = value; } // 쓰기 접근자
            }
        }
        class Person2
        {
            public string Name { get; set; } // 자동 구현 프로퍼티
        }
    
        static void Main(string[] args)
        {
            Person person = new Person();
            person.Name = "Hello";
            Console.WriteLine(person.Name);
    
            Person2 person2 = new Person2();
            person2.Name = "World";
            Console.WriteLine(person2.Name);
    
        }
    }

    위 예제에서 Person 클래스는 name 필드에 대한 프로퍼티 Name을 제공하며, 이를 통해 name 필드의 값을 안전하게 읽고 쓸 수 있습니다. Person2 클래스는 자동 구현 프로퍼티를 사용하여 보다 간결한 코드로 같은 기능을 구현합니다.

    결론

    프로퍼티는 C# 프로그래밍에서 필드에 대한 접근 제어, 유효성 검사, 데이터 바인딩 등을 구현하는 데 있어 필수적인 요소입니다. 적절한 접근자 사용과 자동 구현 프로퍼티를 통해 코드의 간결성과 유연성을 높일 수 있으며, 객체의 상태 관리를 보다 안전하게 할 수 있습니다.

    반응형
    다음글
    다음 글이 없습니다.
    이전글
    이전 글이 없습니다.
    댓글
조회된 결과가 없습니다.
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
목차
표시할 목차가 없습니다.
    • 안녕하세요
    • 감사해요
    • 잘있어요

    티스토리툴바