equlas() 메소드 오버라이딩

개발 및 관리/Java 2013. 2. 7. 15:32 posted by HighLighter
반응형

 

String str = "abcd";

if (str.equals(new String ("abcd")) {

 System.out.println("Same value");

}

 

어떤 특정한 상황에서 같은 클래스에 속하는 객체 두 개가 사실상 같은 것으로 간주하도록 싶다면 그냥 Object 클래스의 equals() 메소드로는 충분하지 않을 것이다. 객체 두 개의 모든 인스턴스 변수가 똑같다고 하더라도 기본 equals() 메소드에서는 항상 false를 리턴할 것이다. equals() 메소드를 오버라이딩할 때는 어떤 인스턴스 변수가 똑같을 때 두 객체를 같은 것으로 볼 수 있을지 결정한 다음 equals() 메소드에서 두 객체의 해당 인스턴스 변수들의 값을 비교해야 한다. 주의, equals() 메소드를 오버라이드할 때는 반드시 hashCode() 메소드도 오버라이드 해야 한다. 그 방법은 아래에 API 문서에서 Object 클래스에 대한 내용을 확인해 보길 바란다.

 

http://www.oracle.com/technetwork/java/javase/documentation/java-se-7-doc-download-435117.html

 

Head First Java p.625

반응형

'개발 및 관리 > Java' 카테고리의 다른 글

Collection  (0) 2013.02.07
String VS StringBuffer  (0) 2013.02.07
Head First Series  (0) 2013.02.05
RMI 예제  (0) 2013.02.05
서블릿 정리  (0) 2013.02.04