코린이 제어문 2일차

조태연·2022년 2월 24일
1

JAVA 제어문

목록 보기
4/7
post-thumbnail

Chapter 4. 문자의 비교

2022년 2월 24일 목요일
오전 11:24

== vs equals
비교 연산자에 대해 더 자세히 알아보자

Primitive 원시 data type(더 이상 쪼갤 수 없는 데이터)
Ex.boolean, int, double, short, long, float, char
Non Primitive
Ex. String, array, day ….
[value]
Int P1 = 1 -------------1
Int P2 = 1 ------------┘
둘다 1을 지정하는데, 여기서 P1 == P2가 같은 곳(위치)을 가르키고 있느냐를 확인하는 연산자인데, 여기서 이건 true가 된다.
Int는 원시Datatype이라 equals를 가지고 있지도 않기에 동등 연산자를 사용해야한다.
[value]
String o1 = new String"java";------------"java"
String o2 = new String("java");----------"java"
이미 있음에도 새로운 "java"를 만듬.
여기서 동등 비교 연산자를 하게 되면 o1 == o2
'=='는 같은 곳에 위치하는 지를 확인하는 것인데, 그렇지 않기에 false
→원시 DataType이 아닌 객체들은 equals라는 Method를 가지고 있음
o1.equals(o2) 이런식으로 하면 내용이 같은지를 확인하고 맞다면 true 아니라면 false를 return해줌.
[value]
String o3 = "java2" ------------ "java2"
String o4 = "java2" ---------------┘
??? 이건 문자열인데 왜 같은 곳으로 지정이 될까?

→일종의 특혜처럼 문자열은 java가 마치 원시 datatype처럼 생각함.
새로운 곳에 만들지 않고 이미 있는 걸 지정함.
o3 == o4 >true

profile
성장하는 코린이

0개의 댓글

관련 채용 정보