처음에는 둘의 차이를 잘 모르다가 자바의 정석 책을 보며 공부하던 중 관련된 내용이 나와 이곳에 공유한다.
자바에는 두가지 종류의 자료형이 있다.
기본형 변수와 참조형 변수
우리가 생각했을 때 String, int,boolean 과 같은 자료형은 모두 다 비슷한 자료형이라고 생각할 수 있지만,
사실 String 은 클래스 이다. 이 개념이 조금 헷갈릴 경우 구글에 검색해보길 추천드린다.
간단하게 설명하자면,
java의 기본형 변수 | java의 참조형 변수 |
1.boolean 2.char 3.byte 4.short 5.int 6.long 7.float 8.double |
Integet, Boolean, String 등 |
아주 쉽게 설명하면, 참조형 변수는 클래스다. 우리가 클래스 타입의 변수를 선언할 때와 비슷하다.
Scanner stdIn = new Scanner(System.in);
(우리가 자주 쓰는 Scanner 클래스)
String클래스
string클래스는 char배열에 여러가지 기능을 추가한 클래스 이다.
그 클래스 안에 있는 boolean equals(String str)라는 메서드 이다.
즉 equals 는 string이라는 클래스 안에 있는 string을 변수로 받는 메서드 이다.
그에 비해 ==은 기본형 변수의 값을 직접적으로 비교하는 비교 연산자 이다.
둘은 완전히 다른 것이다.
참고로 .equals()는 대소문자를 구분한다
대소문자 구별을 하지않고 비교를 원한다면, .equalsIgnoreCase()를 사용하자
'JAVA > [JAVA]' 카테고리의 다른 글
기본형 매개변수와 참조형 매개변수 (0) | 2022.10.23 |
---|---|
JVM의 메모리 구조 (1) | 2022.10.23 |
배열.clone() (0) | 2022.10.17 |
replace 와 replaceAll (String에서 숫자만 제거하기) (2) | 2022.10.15 |
ArrayList 안에 ArrayList담기 (0) | 2022.10.14 |