인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

soso03185님의 프로필 이미지
soso03185

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

Lambda (람다식)

bool의 return값에 대한 질문입니다.

작성

·

753

0

Item item = FindItem(IsWeapon);

에서 브레이크를 걸고 값을 확인 할 때,

제가 예상한 값은 true 혹은 false 중 하나일 줄 알았습니다만,   bool인 'IsWeapon'녀석이 어떻게 Weapon과 Normal 이라는 정보를 가져올 수 있는지 궁금합니다.

추가로  static이 스택이 아닌 힙에 메모리를 넣어줄 때 사용한다고 알고 있는데, 정확히 어떤 때에 사용하는지 감이 안잡힙니다..!

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

delegate 관련된 부분에서 약간 혼동이 있으신 것 같네요.
위 부분을 보면, delegate는 여러 방식으로 응용할 수 있지만
[함수 자체를 인자로 넘겨주는] 역할로도 유용하게 사용됩니다.

Item item = FindItem(IsWeapon);
이 코드에서 IsWeapon이 FindItem(ItemSelector selector)의 selector 부분에 들어간다고 보시면 됩니다.
즉 IsWeapon은 item을 선택하는데(selector(item)) 사용되는 것이지,
IsWeapon의 결과물이 FindItem에서 반환되는 것이 아닙니다!
실제로 FindItem이 리턴하는건 return item이니 Item이 맞지만,
판별 조건 함수 자체를 우리가 인자로 넘겨줄 수 있는 것이죠.

추가적으로 static과 관련된 질문은 워낙 많이 올라와서
검색을 해보시면 다양한 케이스에 대한 설명이 나옵니다.
대표적으로 아래 링크 참고 바랍니다.

https://www.inflearn.com/questions/97965

soso03185님의 프로필 이미지
soso03185
질문자

세상에 마상에,, 감사합니다

soso03185님의 프로필 이미지
soso03185

작성한 질문수

질문하기