java

우테코 5기

설계 관점에서 바라본 불변 객체

들어가면서 얼마 전, 이펙티브 자바 스터디를 하면서 불변 객체에 대한 토론을 하게 되었습니다. 그리고 준팍, 아벨 등을 비롯한 크루분들도 불변 객체에 관한 고민을 많이 하고 있는 것 같았습니다. 그 과정에서 '불변 객체의 본질은 무엇인가?'에 대한 아이디어를 얻어 글을 작성해보려고 합니다. 불변객체를 구글에 검색해보면, 비용을 제외한 단점이 없는 것 같아 보입니다. 하지만 불변객체의 장/단점만으로는 적용 시점을 결정할 수 없는 것 같습니다. 불변 객체에 대해 검색하다보면, 아래와 같은 고민들이 당연히 피어날 수 밖에 없습니다. 무엇을 불변객체로 결정해야 할까? 언제가 비용을 지불하면서도 불변객체를 사용할 때일까? 하지만 불변객체 사용 시점은 단편적으로 결정할 수 있는 부분이 아니라고 생각합니다. 예를 들..

우테코 5기

getter는 금기가 아니다

getter 사용은 과연 금기인가 우아한테크코스에 합류하고 객체지향과 클린코드라는 개념을 차차 알아가는 중이다. 좋은 코드를 만들기 위해서는 getter / setter 사용을 자제하라고 한다. 따라서 나는 코드를 짜면서 getter / setter 사용을 모든 상황에서 제거하려고 노력했다. 하지만 얼마 전 체스 미션을 진행하면서 이에 관한 내 생각이 흔들린 것 같다. View를 위해서가 아니더라도 getter를 사용해도 되는 상황이 있다는 것을 깨달았기 때문이다. 과연 getter 사용은 금기일까? 나는 아니라고 생각하게 되었고, 그 이유를 아래에서 풀어보고자 한다. 주관적인 내용이 많이 담겨있습니다. "getter를 사용하지 마라" 왜 위와 같은 말이 나왔을까? 시스템은 객체들이 메세지를 보냄으로써 ..

teo_99
'java' 태그의 글 목록