inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

C#과 유니티, 실전 게임으로 제대로 시작하기 (저자 직강)

3.10 상속

안녕하세요. 생성자와 속성의 역할에 대해 질문드립니다.

해결된 질문

243

강영환

작성한 질문수 2

1

전 강의와 현재의 코드들을 보고 궁금한 점이 생겨서 질문드립니다.

생성자와 속성의 기능에 대한 질문입니다.

Human 클래스안에 속성과 생성자가 둘다 들어있는데

이 강의에서 상속을 예시로 설명하실 때 Name, Height, Age 를 각각 속성으로 설정하시고

Adult, Baby 객체를 만들고 변수에 접근 할 때 속성을 사용하셨는데

그렇다면 생성자는 언제 쓰이고, 왜 필요한 것 인지 모르겠습니다.

그리고 속성의 구조에서 get, set의 기능을 잘 모르겠습니다.

예를 들어 age 변수 값을 설정할때는 tom.Age = 20; 이런식으로 설정하는데

여기서 set 메서드가 작동한다면 value라는 변수는 어떤 역할을 하는것인지 모르겠습니다.

value 대신에 아무 단어라도 들어가면 작동하는건가요?

C# unity

답변 1

0

백현우

안녕하세요 강영환님!

먼저, 속성과 생성자는 그 쓰임의 목적이 다릅니다! 생성자는 클래스에서 객체를 생성하는데 쓰이고, 속성은 객체가 생성된 뒤에 그 객체의 필드에 접근하기 위해 쓰인다고 생각할 수 있습니다. 속성에서 get, set 등을 통해 read와 write의 기능을 제한하고 수정하는 것이죠.

set에서 value는 매개변수의 기능을 합니다. tom.Age = 20 이라고 했을 때, 20이라는 값은 value에 담겨 실제 age 필드 값으로 반영이 되는 것이지요. 바로 반영하지 않고 매개변수를 사용하는 이유는 속성에서 이를 제어할 수 있기 때문입니다. 예를 들어, 이상한 코드지만 속성을 이용하면 아래와 같이 무조건 입력된 값보다 1 크게 나이를 설정할 수도 있겠죠!

 

set => age = value + 1

EXTENSIONS

0

60

1

총알발사 Vector3

0

141

1

Invoke 오류

0

177

1

4.10 델리게이트 예문이 이해되지 않습니다.

0

134

1

기존에 있던 스크립트에 워링이 새로운 스크립트에서도 콘솔에 뜹니다.

0

133

2

강의 영상 2.5 객체 중 객체와 class관련 질문입니다

0

120

1

델리게이트를 이용하여 멀티캐스트를 할 때, 같은 타입만 담을 수 있나요?

0

188

1

사용하시는 테마가 궁금합니다

0

230

1

저도 이동이 안돼요.....ㅠㅠ

0

212

1

작동이 안되네요

0

656

1

2.17강에서 피격부분이 작동하지 않습니다

0

230

1

교재 관련 질문

0

314

1

유니티 vscode 연결

0

1876

1

Vector2 Vectoe3

-1

383

1

실행시 콘솔창 출력안됨

0

2184

1

왜 이 책에서는 Time.deltaTime을 쓰지 않았는지?

0

801

1

혹시 강의 내용 정리한 것을 블로그에 포스팅 해도 될까요??

0

387

0

collision 발생 조건

0

456

0

강의 2.11 protected와 this/base 에서 객체생성 오류가 발생합니다.

0

333

0

class 작성 스크립트와 객체를 생성하는 스크립트가 다른 경우

0

293

1

질문이 있습니다! 컴파일 에러 관련입니다.

0

281

0

Peek에 대해서 질문드립니다.

0

380

1

이런식으로 코드를 짜도 될까요?

1

599

0

visual studio code

0

392

1