안녕하세요. 생성자와 속성의 역할에 대해 질문드립니다.
전 강의와 현재의 코드들을 보고 궁금한 점이 생겨서 질문드립니다.
생성자와 속성의 기능에 대한 질문입니다.
Human 클래스안에 속성과 생성자가 둘다 들어있는데
이 강의에서 상속을 예시로 설명하실 때 Name, Height, Age 를 각각 속성으로 설정하시고
Adult, Baby 객체를 만들고 변수에 접근 할 때 속성을 사용하셨는데
그렇다면 생성자는 언제 쓰이고, 왜 필요한 것 인지 모르겠습니다.
그리고 속성의 구조에서 get, set의 기능을 잘 모르겠습니다.
예를 들어 age 변수 값을 설정할때는 tom.Age = 20; 이런식으로 설정하는데
여기서 set 메서드가 작동한다면 value라는 변수는 어떤 역할을 하는것인지 모르겠습니다.
value 대신에 아무 단어라도 들어가면 작동하는건가요?
답변 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





