JAVA

[JAVA] 오브젝트의 동일성과 동등성

 

 

동일한 오브젝트 : 두 개의 오브젝트가 완전히 같은 오브젝트

동등한 오브젝트 : 동일한 정보를 담고 있는 오브젝트

 

비교하는 법

동일성 : == 연산자

동등성 : equals() 메소드

 

두개의 오브젝트가 동일하다면

사실은 하나의 오브젝트만 존재하는 것이고, 두 개의 오브젝트 레퍼런스 변수를 갖고 있을 뿐이다.

 

두개의 오브젝트가 동일하지는 않지만 동등한 경우에는

두개의 각긱 다른 오브젝트가 메모리상에 존재하는 것인데, 오브젝트의 동등성 기준에 따라 두 오브젝트의 정보가 동등하다고 판단하는 것일 뿐이다.

 

예)

스프링에서

오브젝트 팩토리 방식을 사용하면 다른 객체가 생성되어 동일성에 어긋나고 동등성에 만족하지만,

IoC컨테이너(빈 팩토리) 방식을 사용하면 같은 객체가 생성되 동일성에 만족한다.

 

 

반응형

'JAVA' 카테고리의 다른 글

[JAVA] 예외처리 방법  (0) 2020.08.21
[JAVA]Random선언 시 Seed란 무엇을 의미하고, 왜 쓰는가?  (5) 2018.05.28