SERIES

Java

6 Posts·Last updated on February 07, 2025

[Java] 기초 개념 : 변수/자료형/접근제어자/static

January 22, 2025

1. 변수 변수는 데이터를 저장하기 위한 메모리 공간의 이름이다. 자바에서는 변수를 사용할 때 반드시 데이터 타입을 명시해야 하며 선언된 타입은 변경할 수 없다. 변수의 유형 변수의 유형이 나뉘는 이유는 효율적인 메모리 관리, 코드의 가독성과 유지보수성 향상, 그리고 성능 최적화를 위해서이다. 변수의 사용 범위를 명확히 구분함으로써 불필요한 메모리 낭비를…

[Java] 클래스의 기본 특징 : 속성/생성자/메서드/this/super

January 23, 2025

1. 클래스란? 클래스는 객체 지향 프로그래밍(OOP)의 기본 구성 요소로 관련된 데이터와 메서드를 하나의 단위로 묶어주는 템플릿이다. 클래스를 사용하는 이유 코드의 재사용성 향상 유지보수의 용이성 코드의 구조화와 직관성 향상 데이터의 캡슐화 가능 2. 클래스의 기본 구조 필드(Fields): 클래스의 “상태”를 나타내는 변수들 생성자(Constructo…

[Java] 메서드 오버로딩, 오버라이딩과 상속(extends)

January 24, 2025

1. 메서드 오버로딩(Method Overloading) 메서드 오버로딩은 같은 이름의 메서드를 매개변수의 타입이나 개수를 다르게 하여 여러 개 정의하는 것이다. 이는 하나의 메서드 이름으로 다양한 작업을 처리할 수 있도록 한다. 사용 예시 2. 메서드 오버라이딩(Method Overriding) 메서드 오버라이딩은 자식 클래스에서 부모 클래스의 메서드…

[Java] Java 개발 환경과 JVM의 동작 원리

February 01, 2025

1. Java 동작 방식 Java는 "Write Once, Run Anywhere" 철학을 기반으로 한 번 작성된 코드를 다양한 플랫폼에서 실행할 수 있는 언어이다. JDK를 사용해 개발하고 JVM을 통해 실행된다. 이 과정에서 컴파일과 런타임을 거치며 JVM 내부의 다양한 메모리 영역과 실행 엔진이 관여한다. Java 구성 요소 JDK (Java Dev…

[Java] 스레드와 프로세스 이해하기

February 05, 2025

1. 프로세스와 스레드 개념 프로세스란? 컴퓨터에서 실행 중인 프로그램을 말하며 실행 중인 프로그램에 대해 독립적으로 메모리와 자원을 할당한다. 각 프로세스는 독립된 메모리 영역(코드, 데이터, 스택 등)을 가진다 다른 프로세스와는 독립적으로 작동하며 서로 간섭하지 않는다 운영체제는 여러 프로세스를 동시에 실행하여 멀티태스킹 환경을 제공한다 프로세스를 알…

[Java] Java에서 Thread Safety를 지키는 방법

February 07, 2025

Thread Safety 란? Java 애플리케이션에서 여러 스레드가 동시에 실행될 때 공유 메모리에 접근하거나 데이터를 수정할 때 일관성을 유지하려면 스레드 안전(Thread Safety)을 보장해야 한다. 여기서 스레드 안전이란, 여러 스레드가 동시에 하나의 데이터를 사용할 때 데이터가 꼬이거나 잘못된 값이 나오지 않도록 안전하게 처리하는 것을 말한다…