3_c#/C#문법

C# 프로퍼티

Mi:sAng 2024. 11. 20. 16:08

1.프로퍼티

public 필드는 외부 객체에 의해 오염될 가능성을 열어둔다.

자바와 같은 언어에서는 Get/Set 메소드를 이용하여 내부 필드에 접근한다.

C#에서는 Get/Set메소드와 프로퍼티를 제공한다.

(프로퍼티는 Get/Set과 같은 용도)

 

  *public 필드를 다루듯 내부 필드에 접근하게 해주는 맴버

  *외부에 데이터를 출력할 떄는 get접근자

  *내부에 데이터를 입력할 때는 set접근자

 

[프로퍼티 선언]

class MyClass{
	private int myField;
    public int MyField{	//이것이 프로퍼티이다. 프로퍼티를 이용하여 private 멤버에 접근한다.
    
    	get{
        	return myField;
        }
        set{
        	myField=value;
        }
    }
}

 

[프로퍼티 사용법]

MyClass obj= new MyClass();
obj.MyField =3;
Console.WriteLine(obj.MyField);

 

 

2.자동구현 프로퍼티

  - 1. 필드 이름 생략

  - 2. get 접근자의 반환문(return ;) 생략

  - 3. set 접근자의 필드 수정(필드 = value;) 코드 생략

 

[생략하지 않은 프로퍼티]

public class Card{
	private string name;
    private string phoneNum;
    
    public string Name{
    	get{ return name;}
        set{ name = value;}
    }
    public string phoneNum{
    	get{return phoneNum;}
        set{ phoneNum=value;}
    }
}

 

[생략한 프로퍼티]

public class Card{
    public string Name{
		get;set;
    }
    public string phoneNum{
		get;set;
    }
}

 

이런 경우에는 이런식으로 프로퍼티를  사용하면 된다.

프로퍼티 자체가 맴버가 되는 것이다.

Card obj=new Card();  
obj.Name=3;
Console.WriteLine(obj.Name);

 

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

클래스 이름 인스턴스 = new 클래스이름()
{
	프로퍼티1=값,
    프로퍼티2=값,
    프로퍼티3=값
};

 

ManInfo man1= new ManInfo(){
	Name= "고객1",
    Phone="010xxxx"

};

 

4.무명형식

  -public 프로퍼티로만 이루어진 이름없는 클래스

  -1회용 데이터 형식으로 사용

  -무명형식은 var 키워드와 프로퍼티를 이용하여 선언함

  -무명형식의 프로퍼티에 할당된 값은 변경 불가능하다.

  -무명형식의 인스턴스가 만들어지고 난 다음에는 읽기만 할 수 있다.

 

var myInstance = new {Name="123", Age="20"};
Console.WriteLine(myInstance.Name, myInstance.Age);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'3_c# > C#문법' 카테고리의 다른 글

C# 일반화 프로그래밍  (0) 2024.11.20
C# 배열, 컬렉션, 인덱서  (0) 2024.11.20
C# 메소드 오버로딩 / 오버라이딩  (0) 2024.10.02
C# TXT파일 접근 - StreamReader, StreamWriter  (0) 2023.07.18
C# 클래스  (0) 2023.07.15