반응형
아래 글은 C# 속성 관련 개념 정리 및 작성자 공부를 위해 작성되었습니다.
📃 참고자료
- C# 교과서(길벗 출판사) - 38단원 속성 사용하기 503 ~ 531페이지
- 유튜브채널 VisualAcademy [C# 교과서 마스터하기 38. 속성(Property) 사용하기]
https://www.youtube.com/watch?v=q-vd0saLxAU
❔ 속성이란
- 속성은 필드의 값을 읽거나 쓰거나 계산하는 방법을 제공하는 클래스의 속성을 나타내는 멤버입니다.
속성의 특성
- 클래스 안에 선언된 필드의 내용을 설정(set)하거나 참조(get)할 때 사용하는 코드 블록을 속성이라 함
- 개체의 필드 중에서 외부에 공개하고자 할 때 사용하는 방법
-> private 필드를 public 속성으로 - 개체의 성질 / 특징 / 색상 / 크기 / 모양 등을 표현
- 자동차 개체로 비유하면 빨간색 스포츠카, 바퀴 4개 등으로 속성이 표현 가능
C# 교과서 예제코드
using System;
namespace PropertyAll
{
public class Car
{
// 필드
private string color;
// 생성자
public Car()
{
this.color = "Black";
}
// 메서드로 외부에 공개
public void SetColor(string color)
{
this.color = color; // this.필드 = 매개변수;
}
public string GetColor()
{
return color;
}
// 속성(프로퍼티;Property)
public string Color
{
get
{
return color;
}
set
{
color = value;
}
}
// 읽기전용 속성
public string Make
{
get
{
return "한국자동차";
}
}
// 쓰기전용 속성
private string _Type;
public string Type
{
set
{
_Type = value;
}
}
// 축약형 속성
public string Name { get; set; }
}
class PropertyAll
{
static void Main()
{
//[1] Set과 Get 메서드 사용
Car car1 = new Car();
car1.SetColor("Red");
Console.WriteLine(car1.GetColor()); // Red
//[2] 속성을 사용
Car whiteCar = new Car();
whiteCar.Color = "White"; // set {}
Console.WriteLine(whiteCar.Color); // get {}
//[3] 읽기전용 속성
Car k = new Car();
// k.Make = ""; // <- 이 코드는 에러
Console.WriteLine(k.Make); // 읽기만 가능
//[4] 쓰기전용 속성
Car car = new Car();
car.Type = "중형"; // 쓰기만 가능
// Console.WriteLine(car.Type); // <- 이 코드는 에러: 읽기는 불가
//[5] 축약형 속성
Car myCar = new Car();
myCar.Name = "좋은차";
Console.WriteLine(myCar.Name);
}
}
}
반응형
'프로그래밍언어 & 프레임워크 > C#' 카테고리의 다른 글
C# 이벤트(Event) (0) | 2021.05.21 |
---|---|
C# 대리자(Delegate) (0) | 2021.05.20 |
C# 예외처리하기(Exception) (0) | 2021.05.19 |
C# 인터페이스(Interface) (0) | 2021.05.18 |
WPF UI 코딩 배우기1 (0) | 2021.04.25 |