자바2 [Java] GC, Garbage Collector 자바 가바지 컬렉터, 가비지 컬렉터 C언어를 공부하다 보면 개발자가 free() 등의 함수로 명시적으로 메모리에 접근을 해서 직접 메모리 할당 해제를 한다. 메모리 관리는 C뿐만 아니라, 다른 언어도 다 필요하지만 자바에서는 한 번도 메모리 관리를 해준 적이 없지만 잘된다. 바로 그 이유는 GC(Garbage Collector) 때문이다. 자바는 기본적으로 Automatic Memory Management 언어로 개발자가 메모리 관리를 해주지 않아도 자동으로 메모리를 관리해주는 언어이며, 개발자가 메모리에 대한 제어 권한조차 없다. 1. GC 가비지 컬렉터는 뭐고 가비지는 또 뭐야? 자바에는 쓰레기가 존재한다. 바로 객체이다. String str = new String("쓰레기"); 객체가 만들어지고 메모리를 점유하고, 더 이상 이 객체가.. 2024. 1. 29. [Java] String 클래스와 ==, equals의 차이점 기본형(Primitive)처럼 사용되는 String클래스에 대해서 알아보자. 1. String클래스 기본형 vs 참조형 int num = 10; String str = new String("This is String"); `String 클래스`는 기본형(Primitive type)인 int, double, char와 다르게 참조형이다(Reference type). 하지만 워낙 선언 자체를 리터럴을 이용한 방식을 많이 사용하기 때문에 기본형으로 헷갈리기 십상이다. 첫 글자가 소문자인 자료형은 기본형 타입밖에 없다. 고로 String은 참조 자료형이다. String클래스의 참조변수는 직접 값을 저장하고 스택영역에 존재하는 기본형과는 다르게 객체와 같이 메모리 상의 힙 영역에 저장되어 객체주소가 변수에 저장된.. 2024. 1. 16. 이전 1 다음