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

도곡님의 프로필 이미지
도곡

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘

플레이어 이동

Board에서 Player 선언에 대한 질문입니다

작성

·

192

0

Program의 static Main 내부에 선언된 Player player = new Player();가 새로운 플레이어로 생성된 것은 이해했습니다.

하지만 Board에서 Player _player = new Player();라고 선언하지 않고 짧게 Player _player;라고 선언하셨는데, 

Player _player = new Player();와 Player _player;를 둘 다 써봤는데 프로그램이 문제없이 작동합니다

new를 쓰고 안쓰고의 차이점이 궁금합니다

답변 2

3

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

Player _player = new Player();
를 하면 사실상 생성자에서 _player = new Player(); 를 해줬다고 생각하시면 되고,
Player _player; 를 하면 사실상 생성자에서 _player = null; 을 해줬다고 생각하시면 되겠습니다.

그러니 Player _player;만 하면 실제로 플레이어가 생성되지 않은 상태이고,
다른 어딘가에서 _player = new Player()를 이용해 직접 만들어줘야 한다는 의미가 됩니다.
추가로 어차피 다른 곳에서 _player = new Player()를 해줄거라면
처음에 선언할 때 Player _player = new Player();는 엄밀히 말해 불필요합니다
(어차피 다른애로 교체될 예정이기 때문)

0

도곡님의 프로필 이미지
도곡
질문자

답변 감사합니다!

도곡님의 프로필 이미지
도곡

작성한 질문수

질문하기