private으로 정의하고
getter setter를 붙여야 되나...
게임 만드는 중인데
돌멩이 같은 투사체가 적 하나한테만 데미지를 주기 위해서
(돌멩이가 적들을 관통하면 이상하잖아)
돌멩이 클래스에 canDeal이란 boolean 변수를 넣어서
짱돌이 적과 부딪히면 canDeal = false로 만들고
canDeal == true일때만 공격이 가능하게 하는 거야
근데 canDeal을 바꾸는게 짱돌에 얻어맞는 적 하나가 바꾼단 말이지. 외부 클래스에서 바꾸는데
canDeal을 그냥 public으로 둬버릴까 아니면
canDeal을 private으로 설정하고 getter setter를 붙이는 게 옳을까?
둘의 차이점은..?
뉴비가 질문합니다... 굽신
솔직히 get set 다 박아놓은 private 멤버변수가 public 멤버변수랑 다른 게 뭔지도 궁금합니다.
디버깅할때 쓰는고임 ㅎㅎ
눈호랑이 // 흠 그럼 일단 하는 게 낫겠네여
이힝 // 그건 무슨뜻이죠? 디버깅할 때 어떻게 써먹어여 저거?
나중에 왠지 모르게 변수값이 존나 이상하게 꼬였을때, 멤버변수에 바로 접근하는 코드가 많으면 어디어디서 어떻게 수정했는지 알기가 어려움, 근데 getter setter를 쓰면 디버깅할때 어떤 소스파일의 몇번째 줄에서 어떤 어떤 함수스택인 상황에서 변수에 접근했는지 알 수 있음
ㄴ 아 그렇네요! 함수를 이용하니까 그렇게 되겠네. 항상 그냥 철칙처럼 썼는데 이런 실질적인 이유가 있는 건 첨 알았네여. 오늘 또하나 배워갑니다 ㄳㄳ
질문이 이해가 안간다, canDeal 이라는 변수를 왜 바꾸는 거야 ? 설명즘 다시 해주면 안되냐 ?