전체 글 4

Annotations

[ Annotations ]설명평소 무심코 사용한 Annotation에 대해서 알아보자. 오버라이드에 주로 사용하던 @Override 와 같이 @ 기호 뒤에 이름을 붙여 사용하는 구조가 바로 Annotation이다. 이것의 정의부터 활용까지 차근차근 알아가보자! Annotation은 다음과 같이 정의될 수 있다.  Annotation은 자바 소스코드에 추가할 수 있는 일종의 메타데이터이다. Annotation은 자체적으로는 프로그램의 동작에 영향을 주지 않으며, 주로 코드에 대한 설명, 설정, 제어 등을 표현하는 데 사용된다. Annotation을 통해 컴파일러나 도구가 코드에 대한 정보를 추출하거나 처리할 수 있다.  무슨말인지… 잘 와닿지 않는다… Annotation은 어떻게 동작하기에 코드에 대한 ..

Java 기술 노트 2025.03.18

Garbage Collector

[ GC ]설명 Garbage Collection이란 프로그램이 더 이상 사용하지 않는 메모리를 자동으로 회수하여 메모리 누수를 방지하고 효율적인 자원 관리를 돕는 기능이다.  프로그램 개발을 하다 보면 더 이상 사용하지 않는 메모리, 즉 Garbage가 쌓이게 될 것이다. C에서는 free()함수를 통해서 직접 메모리 할당을 해제하여 Garbage가 생기지 않도록 관리한다. Java에서는 개발자가 직접 메모리를 해제해주는 일은 잘 없다. 그 이유는 JVM의 Garbage Collector가 불필요한 메모리를 자동으로 정리해주기 때문이다.간단 용어 설명!Garbage Collection : 메모리 관리를 위해 불필요한 객체를 자동으로 정리하는 프로세스 개념적으로 “쓰레기를 치우는 작업”에 해당 Garba..

Java 기술 노트 2025.03.11

얕은 복사와 깊은 복사

[ 객체 복사 ]설명 Java에서 객체를 복사하는 방법에 대해서 알아보자!개발을 할 때, List나 인스턴스 등의 객체를 복사해서 사용해야하는 상황은 빈번히 일어난다. (원본 데이터 보호, 불변성 유지 등,,)그런데... 객체를 복사할 때는 주의해야할 점이 있다. 아래의 예시와 함께 알아보자. 예시Person person = new Person("kangrae", 2001);Person copiedPerson = person;copiedPerson.setName("gyunho");copiedPerson.setAge(2024);  위와 같이 person을 복사하고, 복사된 copiedPerson의 name을 바꾸면 어떻게 될까? 출력하여 확인해보자.System.out.println(person); ..

Java 기술 노트 2025.03.10

Wrapper 객체?

[ 객체? ] 설명 Wrapper 객체를 알아보기전 가볍게 객체에 대해서 먼저 알아보자!한 마디로 정의하자면, 객체는 속성과 행동을 가진 독립적인 개체이다. 여기서 속성은 데이터, 행동은 메서드라고 할 수 있다.  객체는 클래스에서 정의한 것을 토대로 메모리에 할당된 것이며, 클래스의 인스턴스라고 할 수 있다. 프로그램에서 객체는 데이터 또는 식별자에 의해 참조되는 공간으로 활용된다. 객체는 변수, 자료구조, 함수, 메서드를 포함할 수 있으며, 프로그래밍 언어에서는 변수를 이용해 객체에 접근한다. 중요한 점은 메모리가 할당되기 전까지 객체는 존재하지 않는다는 것이다.  [ Wrapper 객체? ]설명 그렇다면 Wrapper 객체란 무엇일까?Wrapper 객체는 원시 타입을 객체로 다루기 위해 사용하는 것..

Java 기술 노트 2025.03.09