Back-End/Java
-
static 변수와 메서드Back-End/Java 2025. 7. 10. 14:14
Java를 다루다 보면 static이라는 키워드를 마주치게 됩니다.처음엔 단순히 “공유된다”는 설명으로 접근하지만, 실무에선 객체지향 설계 철학과 메모리 구조, 그리고 테스트 전략까지 얽히기 때문에 더 깊은 이해가 필요합니다.static이란 무엇인가?static은 클래스 레벨에서 존재함을 의미합니다.즉, 객체 인스턴스를 생성하지 않고도 접근할 수 있으며, 모든 인스턴스가 공유합니다.static 변수 (클래스 변수)정의클래스가 메모리에 로딩될 때 JVM의 메서드 영역(Method Area) 에 단 한 번 할당됩니다.public class Counter { static int count = 0; public Counter() { count++; }}위 코드를 통해 new Coun..
-
오버로딩 (Overloading)과 오버라이딩 (Overriding)Back-End/Java 2025. 7. 9. 13:36
오버로딩 (Overloading)같은 이름의 메서드를 "매개변수만 다르게" 여러 개 정의하는 것 특징같은 클래스 안에서 발생메서드 이름은 같고, **매개변수(타입/개수/순서)**가 달라야 함반환 타입만 다르면 오버로딩이 안 됨 예시public class Calculator { public int add(int a, int b) { return a + b; } public double add(double a, double b) { return a + b; } public int add(int a, int b, int c) { return a + b + c; }} ✔️ 같은 이름 add지만 매개변수가 다름 → 오버로딩오버라이딩 (Overr..
-
java: Full GC란?Back-End/Java 2024. 12. 22. 15:15
Full GC(Full Garbage Collection)는 Java Virtual Machine(JVM)에서 Heap 메모리 전체를 검사하여 가비지 객체를 회수하는 작업을 의미합니다. 이것은 Java 런타임(JVM)에 의해 관리되는 메모리 정리 작업으로, Spring 프레임워크 자체의 기능은 아니며, Spring은 JVM 위에서 실행되는 하나의 애플리케이션일 뿐입니다.1. Full GC란?Full GC는 JVM이 Heap 메모리에서 모든 세대(Young, Old, Permanent 혹은 Metaspace)를 스캔하여, 더 이상 참조되지 않는 객체를 정리하는 작업입니다. 이는 메모리를 회수하고 새로운 객체를 저장할 공간을 확보하기 위해 실행됩니다. Full GC 동작 과정: 1. Stop-the-Worl..