enum 비교 연산은 equals() 보다 == 이 낫다
2024. 8. 10. 13:49ㆍJAVA
== 비교 연산
원시타입일 경우, 값 그 자체를 비교한다.
참조타입일 경우, 인스턴스의 주소값을 비교한다.
equals() 를 사용한 비교연산
equals() 는 객체의 동등성을 비교할 때 사용된다.
하지만 이는 비교대상이 되는 객체에 equals()를 오버라이딩하여 가능한 것으로,
최상위 클래스 Object가 갖는 equals()는 결국 == 연산을 수행한다.
public boolean equals(Object obj) {
return (this == obj);
}
enum 비교
enum은 상수로서 단 하나만 존재하는 객체이다.
계속해서 만들어지지 않고, 객체마다 주소값이 다를 일도 없다.
즉. equals()를 오버라이딩 할 필요도, equals() 메서드를 실행할 필요도 없다.
==연산으로 손쉽게 비교가 가능하기 때문이다.
따라서, enum 끼리 비교할 때 비교 연산은 == 연산이 효율적이다.