inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

C# 프로그래밍 기초

클래스 프로퍼티

getter 와 setter를 사용하는 이유 질문드립니다.

353

toad

작성한 질문수 1

0

getter 와 setter를 사용하는 이유가 에러를 검증하기 위한 것이라고 말씀하셨는데, public string Name { get; set;} 이 문법을 사용할 땐 어떻게 에러를 검증하나요?

C#

답변 1

0

이교준

좋은 질문 감사합니다. 프로퍼티는 꼭 에검증을 위해서 사용하지는 않습니다. 질문과 같이 약식으로 쓰면 컴파일때 getter, setter로 확장되게 됩니다. 따라서 오류를 검증하려면 정식으로 getter, setter를 만들어서 사용해야 합니다. 약식으로 사용할 때는 오류 검증보다 대외적으로 값을 전달할 목적으로 사용합니다. 그렇다고 public 멤버변수를 사용하지 않는데 그것은 여러가지 이유가 있습니다. 첫째는 public string Name{get;} 등과 같이 사용해서 읽기 전용으로도 사용할 수 있고 public string Name {get; private set} 등과 같이 접근 범위를 통제할 수도 있습니다. 특히 데이터베이스 테이블 하나에 매핑되는 클래스를 만들었다면 각 컬럼에 해당하는 프로퍼티를 만들어 사용해서 Student.Name, Student.Address와 같이 사용할 수 있는데 이 경우 오류 체크의 목적으로 사용하는 것은 아니지요. 

visual studio 2022 로 수업 들어도 되나요?

0

200

1

저는 왜 영상과 다르게 Hello World만 나올까요?

0

418

3

getter setter 질문입니다.

0

424

2

교수님 C#의 Property에서 setter를 이용한 입력 제한은 어떻게 구현하나요?

0

643

3

IEnumerable 강의 따라하는 중 질문합니다.

0

568

3

메서드 Override1

0

448

3

혹시 이 강의랑 같이 볼만한 책 추천해주실 수 있으실까요?

0

492

2

디렉토리를 처음부터 잘못해서 쭉 잘못 해오고 있었습니다.

0

502

3

빌드되는 경로를 사용자가 지정할 수는 없나요?

0

846

2

수업 중 질문은 어떻게 쓰나요?

0

381

2

지금 4분~8분 내용 보는 중입니다.

0

553

2

기본타입 강의 중 질문입니다.

0

294

1

19:14 실행이 안되고 꺼집니다.

0

1237

1

프레임워크 4.6.1이 없습니다.

0

380

1

람다는 수업 강의에서 안배우는건가요??

0

420

1

Student.cs에서 생성자 질문

0

423

1

질문

0

358

1

교수님이 강의에서 설명하신 내용 중 이해가 가지 않는게 있습니다.

0

318

2

교수님 혹시 강의 때 사용하시는 ppt도 공유해주실 수 있는지요?

0

526

2

double 소문자와 대문자 차이가 뭔가요?

0

514

1

FOREACH문은 다른 회차에 알려주시나요?

0

218

0

동영상 소리가 너무 작아요…

0

581

1

[질문] C# 프로그램 구조2 강의가 누락된 건가요?

0

318

1

MenuArgs를 왜 상속하나요?

0

260

4