You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
책을 읽으면서 Getter와 Setter의 존재가 객체 지향적인 설계에 있어서 어떤 영향을 미치는가에 대해서 생각해보았습니다.
Getter만 존재하는 경우에는 크게 문제가 없다고 생각됩니다. 외부에서 인자 설정을 위해 값을 얻어오는 경우도 있으니까요. 하지만 Getter와 Setter가 둘 다 존재하는 경우에는 변수를 public으로 설정한 것과 별 다를 바가 없다는 생각이 듭니다.
Setter로 인하여 클래스 외부에서 변경되는 경우가 생긴다면 값이 바뀌는 시점을 정확하게 추정할 수 없게 됩니다. 또한 다른 객체에서 로직을 수행하는 경우도 생기게 되어 책임이 분산되는 결과로도 이어지게 된다고 생각됩니다.
따라서 Setter를 쓰는 대신, 내부적인 함수 로직 내에서만 변경할 수 있도록 하는 것이 좀 더 코드의 유지보수 측면에서 유리하다고 생각됩니다.
페이지
p 30
궁금한 내용
책을 읽으면서 Getter와 Setter의 존재가 객체 지향적인 설계에 있어서 어떤 영향을 미치는가에 대해서 생각해보았습니다.
Getter만 존재하는 경우에는 크게 문제가 없다고 생각됩니다. 외부에서 인자 설정을 위해 값을 얻어오는 경우도 있으니까요. 하지만 Getter와 Setter가 둘 다 존재하는 경우에는 변수를 public으로 설정한 것과 별 다를 바가 없다는 생각이 듭니다.
Setter로 인하여 클래스 외부에서 변경되는 경우가 생긴다면 값이 바뀌는 시점을 정확하게 추정할 수 없게 됩니다. 또한 다른 객체에서 로직을 수행하는 경우도 생기게 되어 책임이 분산되는 결과로도 이어지게 된다고 생각됩니다.
따라서 Setter를 쓰는 대신, 내부적인 함수 로직 내에서만 변경할 수 있도록 하는 것이 좀 더 코드의 유지보수 측면에서 유리하다고 생각됩니다.
아래의 Bag 코드에서도 SetTicket 함수가 굳이 필요하나? 라는 생각이 듭니다.
여러분들의 의견은 어떤가요?
The text was updated successfully, but these errors were encountered: