2026/05/06 4

객체지향 프로그래밍의 이해 - Garbage Collection(GC)

GC는 중요한 개념이기에 따로 기록하고자 JVM에서 GC에 대해 개념만 알아보았다. 이번에는 GC에 대해 구체적으로 알아보자.GC의 개념은 이전 글에서 설명했으니 GC의 개념에 대해서는 넘어가자.1. GC의 동작 조건 및 특징 - 실행 시점 GC는 정해진 주기 없이, JVM이 판단하여 실행한다. 메모리 부족, 시스템 idle, 객체 수 급증 등 조건에 따라 동작한다. - 참조 해제 조건 명시적으로 null을 대입한다. 참조 변수 스코프를 벗어난다.Student s = new Student();s = null; // s는 이제 더 이상 참조되지 않음 → GC 대상 GC의 본질은 "누가 살아 있고, 누가 죽었는가"를 판단하고 치우는 일이다.2. GC의 주요 실행 단계 - ..

자바 고급(JAVA) 2026.05.06

객체지향 프로그래밍의 이해 - 자바 가상 머신(JVM)

JVM이란?자바 애플리케이션을 실행하기 위한 가상 컴퓨터. 자바 소스 코드를 컴퓨터가 이해할 수 있도록 실행시키는 해석기 역할을 수행한다. .class 파일을 읽고 해석하여 실제 실행하며 운영체제에 독립적으로 동작할 수 있게 만드는 핵심 요소이다. JVM은 자바가 범용성과 이식성을 갖추는 데 결정적 역할을 한다. 단순한 실행 도구가 아닌, 자바 철학의 중심축이라 할 수 있다.1. 자바의 플랫폼 독립성- 일반적인 프로그램의 실행 방식프로그램은 운영체제에게 CPU, 메모리, 입출력 장치 같은 자원을 요청운영체제마다 요청 방식이 다르므로, 프로그래밍 언어는 일반적으로 운영체제에 종속적이다.- 자바의 방식자바는 직접 운영체제와 소통하지 않고 JVM을 통해 간접적으로 운영체제와 상호작용한다.(운영체제마다 별도로 ..

자바 고급(JAVA) 2026.05.06

객체지향 프로그래밍의 이해 - 클래스와 객체

1. 클래스와 객체1 -1. 클래스란?객체를 정의한 설계도 또는 틀이라 할 수 있다. 객체를 생성하는데 사용되며, 객체는 클래스에 정의되고 설계된 내용 그대로 생성된다. 하지만 클래스는 객체 그 자체가 아니라 '단지 객체를 생성하는 데 사용되는 하나의 틀이며 객체 그 자체가 될 수 없다'는 사실을 명심하자.- 인스턴스'클래스를 통해 생성된 객체'를 해당 클래스의 인스턴스(instance)라고 부른다. 인스턴스화는 클래스로부터 객체를 만드는 과정을 말한다. 객체와 인스턴스의 차이는 무엇일까?객체(Object)는 넓은 의미에서 현실 세계의 사물이나 개념을 추상화한 것을 뜻한다.인스턴스(Instance)는 특정 클래스의 정의에 따라 생성된 객체이다.즉, 모든 인스턴스는 객체이지만 모든 객체가 특정 클래스의 인..

자바 고급(JAVA) 2026.05.06

객체지향 프로그래밍의 이해 - 객체지향 프로그래밍이란?

- 객체속성(state)과 행동(behavior)을 가진 독립적인 단위(사람과 동물, 개념이나 사상까지도 프로그래밍에서는 객체로 표현될 수 있다.)예) 레고 블록 - 각각은 독립적인 역할과 기능을 가진다(객체) 레고로 만든 구조물 - 객체 간에 협력하여 하나의 프로그램이 완성된다.- 객체지향 프로그래밍(OOP)'세계는 수많은 객체로 이루어져 있으며, 객체 간 상호작용을 통해 사건이 발생한다' 라는 철학을 기반으로 한다.필요한 정보를 한 곳에 모아 상태와 행동을 가지는 객체를 만든다.→객체들이 서로 협력하며 하나의 프로그램을 완성한다.※객체지향 프로그래밍의 중요 개념들구분설명객체(Object)상태(state)과 행동(behavior)을 가진 독립적인 존재클래스(Class)객체를 만들기 위한 설계도메..

자바 고급(JAVA) 2026.05.06