Java
TIL | Java - 기본타입 & 참조타입
개발 공부
2022. 10. 6. 17:01
기본타입
: byte, char, short, int, long, float, double, boolean
실제 값을 변수 안에 저장하는 데이터 타입
참조타입 : reference type
: 배열, 열거, 클래스, 인터페이스
객체의 주소를 참조하는 타입
(변수 안에 메모리의 주소값을 저장하는 타입)
*클래스도 데이터 타입이 될 수 있다.
참조 타입으로 선언된 변수는 스택(stack) 영역에 주소값을 저장하고,
내부의 실제 값은 힙(heap) 영역에 저장합니다.
스택 : stack | 힙 : heap |
참조타입 String과 객체 동등비교 메서드 equals()
string은 클래스다!
new키워드를 사용해서 String객체를 직접 heap영역에 생성한다면 문자열의 내용이 같더라도 다른 주소값을 가지게 되므로
동등, 비동등 연산자(==, !=)의 결과가 false로 나오게 됩니다. (==으로 하면 주소가 동일하다는 의미)
그래서 동일 String객체이든 다른 String 객체이든 상관없이 문자열의 내용 값 그 자체를 비교할 때는 equals() 메서드를 사용해야 합니다.
String null 값에 .equals() 비교 메서드 쓰면 error
ex) String str3 = new String("Hello"); String str4 = new String("Hello");
--> str3 == str4 -> false
2022.10.06.thu / course12