무슨 프로그램이든 글이든 보고 듣기엔 참 좋은 프로그램 또는 글인것 같은데 막상 활용해보자니 뭔가 두루뭉실하고 현실에 맞지 않는 것들이 있습니다. 저는 물론 간결하면서 바로 써먹을수 있는 프로그램이나 글이 좋습니다.

그런 의미에서 제가 좋아하는 바로 써먹을수 있는 실용적인 기사를 발견했습니다. 잠깐의 활용법만 알면 아파치 Commons Lang에서 제공하는 유틸리티 기능을 바로 써먹을 수 있습니다.

    * equals
    * hashCode
    * toString

이 3개의 메소드는 자바의 Object 클래스에서 제공하는 자주쓰는 메소드입니다. 특히 equals와 toString은 많이 쓰는 메소드죠~! 근데 보통 이 메소드들 그냥 쓰지만 가끔은 예를 들어 이런 상황이 생깁니다.

  Account acct1 = new Account(1, "Andrew", "Glover", "ajg@me.com", now);
  Account acct2 = new Account(1, "Andrew", "Glover", "ajg@me.com", now);

이 객체가 같은지 비교하고 싶을 경우 보통 우리 사람 입장? 에서는 두 객체의 각 인자들이 같은지를 비교하고 싶지만, 이 인자들의 구체적인 비교 로직을 equals에서 재정의 하지 않으면 컴퓨터는 우리 의도와는 맞지 않게 객체 포인터 주소나 비교할것입니다.

위의 객체처럼 인자가 많을 경우 equals로직을 재정의하는데 노력이 많이 필요하고 로직에 버그가 생길 가능성도 높아집니다. 이럴때 Commons Lang 클래스를 쓰면 깔끔하고 간단하게 해결됩니다. 자세한건 기사를 보세요. 잠깐만 봐도 바로 써먹을 수 있습니다.


저작자 표시
신고
Posted by 산골
산골 블로그 소개 저는 하얀머리 개발자와 작가를 꿈꾸는 블로거 산골 입니다. 프로그램 개발자로서 저의 관심사는 개발자의 숨통을 트여준 아이폰 개발, 철학과 같은 깊이가 있는 객체지향 방법론입니다. 글쓰기와 수영을 좋아합니다. 블로그를 통해 관심사를 공유합니다. 제 블로그에 관심 있으시면 아래 RSS나 즐겨찾기로 편하게 구독하세요.

rss Bookmark and Share

댓글을 달아 주세요