TextRpg 팀 프로젝트중 생성자를 사용한 Player이란 클래스가 있어서 왜 사용해야하는지 너무 궁금해서 팀원들과 토론을 했었다.
대화를 하면서 그렇게 사용할 수 있구나는 느꼈지만 그렇게 사용해야하는 이유가 뭘까 ? 라는 궁금증이 생겼고,
그 내용을 찾아보기로 했다.
생성자를 사용하는 기본적인 이유는 코드의 명확성과 유지보수성, 안정성이다.
생성자를 사용하면 객체를 만들자 마자 개발자가 원하는 특정 상태로 설정할 수 있고
객체 초기화를 단순화해주고 불필요한 코드도 줄일 수 있다.
이로써 코드의 가독성도 좋아지고 객체가 올바르게 초기화되지 않으면 생성 자체가 되지 않아
코드의 안정성도 올라간다.
public class Player
{
public string Nickname { get; set; }
public string Job { get; set; }
public Player(string nickname, string job)
{
Nickname = nickname;
Job = job;
}
}
위의 코드와 같이 작성해두면
Player player = new Player("MyName", "Gamer");
위의 코드를 작성하면
한줄로 Player 객체에 닉네임과 직업을 바꿔주고
그 바꿔준 값을 player변수에 객체를 바로 담아줄 수 있고 그 이후에도 그 데이터를 사용할 수 있다.
또한 위와같이 player 객체를 생성해뒀다면
public void PlayerInfo(Player player)
{
Console.WriteLine($"Player Nickname: {player.Nickname}");
Console.WriteLine($"Player Job: {player.Job}");
}
메서드에서 Player 객체를 매개변수로 받아서 사용할 수 있다 (객체가 아님)