EJ2E 14. public 클래스에서는 접근 메소드를 사용하지 public 필드를 사용하지 마라.

참조: Effective Java 2nd Edition. Item 14: In public classes, use accessor methods, not public fields

그런 클래스에 있는 데이터 필드에 바로 접근하면 캡슐화(Item 13) 장점을 제공하지 못하게 된다.
1. 내부를 변경하면 API까지 바뀐다. 
2. 필드를 읽을 떄 어떤 보조 행위를 추가하지 못한다.
3. 불변성을 보장할 수 없다.

따라서 private 필드를 사용하고 public 접근 메소드(getter)와 (가변 클래스인 경우) setter를 제공하라.

패키지 밖에서 해당 클래스에 접근이 필요한 경우에 접근 메소드를 제공하라. 자바 플랫폼 라이브러리중에 Dimension과 Point 클래스(java.awt 패키지)가 이를 위반하고 있다.(흠.. 뭔가 대체할 만한 클래스가 있겠죠?)

불변값에 직접 전근하게 하는건 그리 나쁘지 않다. 1과 2는 어쩔 수 없는데 불변경은 보장할 수 있다.

예제코드 hour와 minute 이라는 int 타입 final 필드를 public으로 제공하고, 해당 클래스의 생성자에서 int 값 두개를 인자로 받아서 해당 final 필드에 세팅을 해줌.

보드 타고 왔어요

네이버 카페(피아노사랑)에서 알게된 친구가 보드 매니아라서 꼬드김에 넘어가 보드를 난생 첨으로 타보고 왔습니다. 에전에 친구들이랑 스키장가서 독학으로 스키 하루 타보고 온적은 있는데 그것도 오래 전 일이고 보드랑 스키는 또 많이 달라서 걱정을 많이 했는데 친구가 잘 챙겨줘서 어떻게든 내려올 순 있는 정도로 배우고 왔습니다.

8시부터 새벽 1시까지 탔습니다. 정말 재밌던데요. 이젠 거의 매주 가지 않을까 싶습니다. 월화수목금 일하고 금욜 저녁에 가서 금요일 야간 심야 토요일 야간 심야 일요일 귀가. 이런 패턴으로 타면 많이 탈 수 있겠더라구요. 문제는 돈인데.. 보드나 신발도 없고~ 보호구도 없고~ 옷도 없고~ ㅋㅋㅋ 뭐 좀 싸게 넘기실 거 없나요. 이번엔 친구가 다 알아서 준비해줘서 정말 편하게 타고 왔는데 담에 갈 땐 보호구라도 준비해서 가야겠습니다.

타보면서 느낀점은 보드는 정말 위험하다는 거. 그래서 보호구가 필수더군요. 스키 처음 탈 땐 아무것도 없이 타도 별로 아픈곳이 없었는데 보드는 엉덩이 보호구 없이 탔으면 엉덩이가 뽀개지지 않았을까 싶습니다. 그리고 손목 보호구. 넘어질 때 손을 집으면 안 되는데 나도 모르게 손을 바닦에 꽝.. 짚으면… 그대로 손목이 나가버리기 쉽상이더군요. 어쨋든 이 두개는 꼭.. 착용하고 타야겠습니다. 그리고 나 때문이 아니라 다른 사람이 와서 들이받을 수도 있기 때문에 헬멧이나 기타 보호구들도 꼭 필요한 것 같습니다.

이것으로 또 하나의 취미가 생겼습니다.

큐브, 피아노, 보드

여친한테 차이고 나니… 세상이 더 넓어지는 것 같습니다. 어떻게든 외로움에서 벗어나려고 발버둥 치다보니 이렇게 되네요. 큐브나 피아노는 혼자하는거라 외로움을 순전히 집중력으로 이겨내는 방법이고, 보드도 역시 집중력이 필요하긴 한데 인간적인 유대관계 없이는 좀 힘든거라 자연스럽게 새로운 친구들도 생기더군요. 보드를 통해서 만나게 되는 새로운 사람들과 좋은 관계가 지속되면 좋겠습니다.