작성
·
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
Player _player = new Player();
를 하면 사실상 생성자에서 _player = new Player(); 를 해줬다고 생각하시면 되고,
Player _player; 를 하면 사실상 생성자에서 _player = null; 을 해줬다고 생각하시면 되겠습니다.
그러니 Player _player;만 하면 실제로 플레이어가 생성되지 않은 상태이고,
다른 어딘가에서 _player = new Player()를 이용해 직접 만들어줘야 한다는 의미가 됩니다.
추가로 어차피 다른 곳에서 _player = new Player()를 해줄거라면
처음에 선언할 때 Player _player = new Player();는 엄밀히 말해 불필요합니다
(어차피 다른애로 교체될 예정이기 때문)
0