강의

멘토링

커뮤니티

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

leesh961101님의 프로필 이미지
leesh961101

작성한 질문수

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

TextRPG2 마무리

Game 클래스내에서 null관련 궁금합니다

작성

·

283

0

Game 클래스 내에서 player와 monster를 끌고 왔을때

private Player player = null; 이라고 하셨었는데 

제가 공부를 제대로 못해서 그런건지 ㅠ 정확하게 어떠한 이유에서 null 로  player의 모든 데이터가 Game 클래스로 넘어가는지 확실하게 이해가 되지않았습니다 

답변 2

2

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

우선 Player player = null은 그냥 Player player; 로 해도 똑같고 큰 의미가 없습니다. (null이 그냥 생략된 형태)

class Game 내부에서 멤버 변수로
Player player;
Monster monster; 등을 들고 있게 만들어 놨는데,

이 상태에서 new Game으로 Game 객체가 생성되면
내부적으로 player, monster 변수를 참조하는 변수가 각각 만들어집니다.

초기값은 null 즉 아직 player가 없는 상태입니다.
나중에 코드가 진행되면서 각각 ProcessLobby, ProcessField에서 플레이어/몬스터를 new로 만들어주고
player  =new Knight(), monster = new Orc()와 같은 형태로
변수에다가 저장해주기 때문에 아래와 같은 그림으로 바뀝니다.

그러면 Player, Monster의 객체가 들어가서 위와 같이 채워지게 됩니다.

0

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

감사합니다

leesh961101님의 프로필 이미지
leesh961101

작성한 질문수

질문하기