Java/CS 7

[Java] 절차 지향 프로그래밍 vs 객체 지향 프로그래밍

절차 지향 프로그래밍 (Procedural Programming)💡절차 지향 프로그래밍 이란?절차 지향 프로그래밍은 프로그램의 실행 흐름이 위에서 아래로 순차적으로 진행되는 방식입니다.절차적 프로그래밍 언어는 시간의 흐름에 따라 코드를 작성합니다. ✅ 예시C 언어는 절차 지향 프로그래밍의 대표적인 예로, 프로그램을 함수의 집합으로 구성하며, 각 함수는 특정 작업을 수행합니다.#include int sum(int a, int b) { return a + b;}int main() { int result = sum(5, 3); printf("Sum: %d\n", result); return 0;}객체 지향 프로그래밍 (Object-Oriented Programming, OOP)💡객체 ..

Java/CS 08:50:32

[Java] GC(Garbage Collection)

GC(Garbage Collection)💡GC(Garbage Collection)이란?객체를 가리키는 참조값(주소)가 null인 경우, 해당 객체의 메모리에 접근할 수 없게되므로 이 객체를 찾을 수 없게된다. 이와 같은 경우에 Java의 JVM이 GC를 통해 자동으로 메모리를 제거한다.GC는 어떤 메모리 부분이 더 이상 사용되지 않는지를 자동으로 탐지하고, 해제하여 새로운 객체를 위한 공간을 확보한다. The garbage collector (GC) automatically manages the application's dynamic memory allocation requests. ✅ 예제Data data = new Data(); // x001이라는 참조값을 가진 객체 생성data = null; ..

Java/CS 2025.04.26

[Java] 변수(Variables)

변수(Variables)자바에서 변수란 데이터를 저장하고 조작하기 위해 사용되는 이름이 붙은 메모리 공간입니다. 변수는 특정 타입을 가지며, 이 타입은 변수에 저장될 수 있는 값의 종류와 수행할 수 있는 연산을 결정합니다.​ 변수가 필요한 이유자바는 정적 타입 언어로, 모든 변수와 표현식은 컴파일 시점에 타입이 결정됩니다. 이는 변수의 타입이 컴파일 타임에 알려져 있어야 함을 의미합니다. 이러한 강한 정적 타이핑은 컴파일 시점에 오류를 감지하는 데 도움을 줍니다. The Java programming language is also a strongly typed language, because types limit the values that a variable (§4.12) can hold or that..

Java/CS 2025.04.21

Gradle VS Maven

Gradle? Maven?Gradle와 Maven은 소프트웨어 개발 과정에서 사용하는 빌드 도구입니다. 빌드 도구는 소스 코드 작성 후 프로그램 실행 파일로 변환하거나, 라이브러리를 추가하는 과정을 자동화하는 데 사용됩니다. 특히 Gradle과 Maven은 Java와 같은 프로그래밍 언어의 프로젝트에서 주로 사용됩니다.빌드 도구가 필요한 이유코드 작성 후 프로그램을 실행 가능한 상태로 만드는 과정은 단순히 “코드 실행”을 넘어 여러 단계를 포함합니다.  * 예시 • 컴파일(Compile) : 사람이 읽는 코드를 컴퓨터가 이해할 수 있는 형태로 변환 • 패키징(Packaging) : 프로그램의 모든 파일을 하나로 묶어 배포 가능하게 만듦 • 테스트(Test) : 코드가 제대로 동작하는지 자동으로 검증 • ..

Java/CS 2025.03.01

[Java 이론] 영속성 컨텍스트(Persistence Context)

영속성 컨텍스트(Persistence Context)영속성 컨텍스트는 JPA 계층에서 작동하는 중간 저장소로, 애플리케이션과 데이터베이스 사이에서 데이터를 임시로 보관하고 관리하는 가상의 데이터베이스라고 생각하면 됩니다.마치 우리가 물건을 바로 창고(DB)에 넣지 않고 장바구니(영속성 컨텍스트)에 담아두는 것처럼 데이터를 임시로 보관하고 관리하는 공간입니다.영속성 컨텍스트는 엔티티(Entity, 데이터베이스에 저장될 데이터)를 저장하는 가상의 데이터베이스입니다. 실제 데이터베이스에 저장하기 전에 임시로 데이터를 보관하고 관리하는 공간으로, 메모리에 존재합니다.Java 웹 어플리케이션 계층 구조 1. 애플리케이션 프레임워크 계층Spring Boot : Java 애플리케이션을 쉽게 설정하고 실행할 수 있도록..

Java/CS 2025.02.27

Java VS Kotlin

❓궁금해프로그래머스 백엔드 과정 특강 중 Java에서 Kotlin으로 마이그레이션하는 강의 들었는데, Kotlin은 immutable 지향이라는 부분이 정확히 무얼 이야기하는건지 궁금했다. 관련 내용을 찾아보던 중 Java는 객체 지향 프로그래밍(OOP) 언어로, 기본적으로 mutable한 속성을 가지고, Kotlin은 함수형 프로그래밍(FP) 언어로, immutable을 지향한다는 새로운 사실을 알게되었다.Java는 왜 기본적으로 mutable(가변성)인가요? 1. Java는 전통적인 객체 지향 프로그래밍(OOP) 언어  Java는 객체 지향 프로그래밍(OOP, Object-Oriented Programming)을 기반으로 설계된 언어로, 객체의 상태(state)와 행동(behavior)을 변경하면서 ..

Java/CS 2025.02.21
반응형