카테고리

분류 전체보기 (68)
JAVA-기본 (7)
JAVA-AWT (24)
JAVA-클래스의 중요메소드 (23)
JAVA-람다식 (0)
Android Studio (7)
Python (1)
OpenCV (1)
AWS (0)
webrtc (0)
javascript (4)
처리방침 (1)
rss 아이콘 이미지
반응형

아래는 Object클래스의 메소드들입니다. 그 중에서 가장 많이 사용하는 메소들을 골라서 설명 드리도록 하겠습니다.


equals();

equals() 메소드는 두개의 객체가 같은지를 비교하며 그 결과값을 boolean의 데이터 타입으로 반환합니다. 아래는 equals의 특징을 서술하였습니다.


1. equals는 그 객체의 내용을 비교할 수 있는 메소드 입니다. 연산자== 의 형태는 객체가 가지는 주소가 같은지 확인하는 것이지만 equals는 그 내용이 같은지 확인하는 것입니다.

2. equals의 반대는 앞쪽에 ! 을 표시하시면 됩니다. 그렇다면 같이않다는 것을 나타내는 것이겠지요.


예제를 하나씩 살펴보면서 equals에 대해서 파악해보도록 하겠습니다.


 public class T2 {

 

        public static void main(String[] args) {

              

               int a = 1;

               int b = 1;

               String c="1";

               String d="1";

              

               System.out.println(a==b);

               System.out.println(c==d);

               //----------------------------

               String e= new String("1");

               String f= new String("1");

              

               System.out.println(e==f);

               }

        }

 

 <결과물>


위의 예제를 살펴보도록 하겠습니다.

int a,b와 String c,d는 System.out의 출력결과 true라는 값을 반환하였습니다.

그러나 Stirng e와 f 는 false라는 값을 반환하였습니다. "1"이라는 값으로 true가 반환되어야 하지만, String 초기화 및 선언시 새로운 주소 객체에 "1"을 넣어라는 new를 사용하였습니다.

int a=1; int b=1; 은 서로 같은 주소값과 같은 결과값

String에서 new로 지정한 것은 서로 다른 주소값에 결과를 넣음


==는 메모리의 위치를 비교하며 equals는 값을 비교합니다. 

아래의 예제를 보면서 살펴보도록 하겠습니다.


 public class T2 {

 

        public static void main(String[] args) {

              

               String e= new String("1");

               String f= new String("1");

              

               if(e==f)

                       System.out.println("e f 같습니다.");

               else

                       System.out.println("e f 다릅니다.");

               }

        }

 <결과물>




 public class T2 {

 

        public static void main(String[] args) {

              

               String e= new String("1");

               String f= new String("1");

              

               if(e.equals(f))

                       System.out.println("e f 같습니다.");

               else

                       System.out.println("e f 다릅니다.");

               }

        }

 <결과물>


그래서 우리는 주소로 된 데이터를 비교할때 연산자 ==가 아닌 equals라는 메소드가 필요합니다. 



자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.

반응형

'JAVA-클래스의 중요메소드 > Object클래스' 카테고리의 다른 글

JAVA-중요02-toString(예제)  (0) 2018.06.21
JAVA-중요02-toString  (0) 2018.06.21
JAVA-중요01-equals(예제)  (0) 2018.06.21