본문 바로가기
728x90

객체지향프로그래밍38

[JAVA] Java의 static 키워드 완벽 가이드 : 메모리 구조부터 활용법까지 자바(Java) 언어에서 static은 가장 자주 접하면서도 동시에 가장 오용하기 쉬운 키워드 중 하나입니다. 객체지향 프로그래밍(OOP)의 핵심이 '인스턴스(객체)'에 있다면, static은 '클래스 그 자체'에 무게중심을 두는 키워드입니다. 단순히 "공유 변수"라고만 알고 있었다면, 이번 기회에 JVM 메모리 구조와 연계하여 static의 본질을 깊이 있게 파헤쳐 보겠습니다.1. static 키워드란 무엇인가?자바에서 static 키워드는 메모리에 단 한 번만 할당되어 프로그램 종료 시까지 유지되는 정적 요소를 정의할 때 사용됩니다. 일반적인 인스턴스 멤버(변수, 메서드)는 객체가 생성될 때마다 힙(Heap) 영역에 새롭게 할당되지만, static이 붙은 멤버는 객체 생성 없이도 클래스 이름만으로 접.. 2026. 1. 14.
[JAVA] Java의 클래스와 객체(인스턴스) 차이 : OOP의 핵심 개념 완벽 이해 자바(Java)를 포함한 객체지향 프로그래밍(OOP)을 이해하는 데 있어 가장 기본적인 출발점은 바로 '클래스(Class)'와 '객체(Object, Instance)'의 차이를 명확히 아는 것입니다. 이 두 개념은 마치 '설계도'와 '건물', 또는 '붕어빵 틀'과 '붕어빵'처럼 서로 뗄 수 없는 관계를 가지면서도 분명한 차이점을 지닙니다. 오늘은 이 근본적인 차이점을 심도 있게 분석하고, 실질적인 코드 예시를 통해 개발자로서 이 개념을 어떻게 활용해야 하는지 독창적인 시각으로 설명해 드리겠습니다.1. 클래스 (Class): 객체를 만들기 위한 '설계도'클래스는 객체를 생성하기 위한 추상적인 정의이자 틀, 설계도입니다. 클래스 자체는 메모리에 실제 공간을 할당하지 않습니다. 단지 어떤 속성(데이터, 필드).. 2026. 1. 14.
728x90