C#/이것이 C#이다

[C# 기초강의] Ch 09. 프로퍼티

냠냠쿠 2023. 8. 10. 12:52
728x90

 

https://www.youtube.com/watch?v=cYE5OvS-0i8&list=PLVsNizTWUw7GN8wPRhclbKuQa9aI9Cj2V&index=10

 

📌 프로퍼티

  • public 필드 다루듯 내부 필드에 접근하게 해주는 멤버
  • get : 외부에 데이터를 출력
    set : 내부에 데이터 입력

◾ public 필드

  • 외부 객체에 의해 오염될 가능성을 열어두는 것
  • 자바에서는 Get/Set 메서드를 이용하여 내부 필드에 접근하도록 함
  • C#에서는 GET/SET 메서드 뿐 아니라 필드만큼 편리한 프로퍼티 사용 가능

◾ Get/Set 메서드로 필드에 접근

class MyClass 
{
	private int myField;
    public int GetMyField() { return myField; }
    public void SetMyField(int newValue) {myField = new Value};
} 

myClass obj = new MyClass();
obj.SetMyField(3);
Console.WriteLine( obj.GetMyField() );

◾ 프로퍼티 선언

class MyClass 
{
	private int myField;
    public int myField
    {
    	get
        {
        	return myField;
        }
        
        set
        {
        	myField = value;
        }
    }
} 

myClass obj = new MyClass();
obj.SetMyField = 3;
//퍼블릭 필드 사용할 때 처럼 사용 
Console.WriteLine( obj.GetMyField );

◾ 자동구현 프로퍼티

  • 필드 이름 생략
  • get 접근자의 반환문 (return 필드;) 생략
  • set 접근자의 필드수정 (필드 = value;) 코드 생략
public class NameCard
{
	public string Name
    {
    	get; set;
    }
    
    public string PhoneNumber
    {
    	get; set;
    }
}

◾ 프로퍼티를 이용한 객체 초기화

  • 객체를 생성할 때 프로퍼티를 이용한 초기화 가능
 클래스이름 인스턴스 = new 클래스이름()
 {
 	프로퍼티1 = 값,
    프로퍼티2 = 값
 };

◾ 무명형식

  • public 프로퍼티로만 이루어진 이름없는 클래스
  • 1회용 데이터 형식으로 사용
  • 무명 형식은 var 키워드와 프로퍼티를 이용하여 선언
//프로퍼티를 이용한 초기화를 하면 프로퍼티 생성 됨
var myInstance = new { Name ="홍길동", age="20" };

Console.WriteLine ( myInstance.Name, myInstance.Age );
728x90