Java 47

[Java] 클래스(Class), 객체(Object), 인스턴스(Instance)

클래스(Class)💡클래스(Class)란?Java에서 클래스는 객체 지향 프로그래밍의 핵심 요소로, 관련된 데이터와 동작을 하나의 단위로 묶어 코드의 재사용성과 유지보수성을 높입니다.클래스를 사용하면 int, String과 같은 타입을 직접 만들 수 있습니다. 즉, 사용자가 직접 정의하는 사용자 정의 타입을 만드는 설계도가 클래스입니다.✅ 예제 : 클래스를 사용하지 않은 경우public class NoClassExample { public static void main(String[] args) { // Bicycle 1 int cadence1 = 0; int speed1 = 0; int gear1 = 1; cadence1 = 50; ..

Java/Grammar 09:15:50

[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] 배열 (Arrays)

배열 (Arrays)💡배열(Arrays)이란?Java에서 배열은 동일한 타입의 여러 값을 저장할 수 있는 컨테이너 객체입니다. 배열을 사용하면 같은 타입의 변수를 여러 개 선언하는 번거로움을 줄일 수 있습니다.​ An array is a container object that holds a fixed number of values of a single type. 💡사용하는 이유같은 타입의 변수 여러 개를 만들어야 할 때 사용한다.✅ 예시 : 배열 없이 변수 선언let score1 = 90;let score2 = 85;let score3 = 78;let score4 = 92; ✅ 예시 : 배열 사용let scores = [90, 85, 78, 92];배열은 참조형(Reference Type)💡배열이 ..

Java/Grammar 2025.04.25

[Java] 변수의 생존 범위 (Scope)

변수의 생존 범위, Scope💡변수는 하나의 코드 블록 { } 안에서만 사용 가능하다.Java에서는 변수가 선언된 블록 { } 내에서만 접근할 수 있다. 블록이 종료되면 해당 변수는 더 이상 접근할 수 없다. The scope of a local variable declaration in a block is the rest of the block in which the declaration appears.Scope가 존재하는 이유1. 비효율적인 메모리 사용 방지코드 블럭이 종료될 때 까지 선언된 변수는 메모리 공간을 차지하므로 특정 코드 블럭에서만 사용되는 변수는 불필요하게 메모리를 낭비할 수 있다. 변수를 필요한 범위 내에서만 선언하면, 해당 변수는 블록이 종료될 때 메모리에서 해제되어 메모리 효율성..

Java/Grammar 2025.04.24

[Java] 제어 흐름 문 (Control Flow Statements)

if💡else-ifif-then-else 구조는 여러 조건을 순차적으로 평가하며, 첫 번째로 true인 조건의 블록만 실행됩니다. 따라서 이후의 else if 조건들은 평가되지 않아 중복 체크를 피할 수 있습니다. 이는 효율적인 조건 분기 구조를 제공합니다.​ The if-then-else statement provides a secondary path of execution when an 'if' clause evaluates to false.서로 독립적인 조건을 처리해야 할 경우, if-else 대신 별도의 if 문을 사용하는 것이 더 적절할 수 있습니다. 이는 각 조건이 서로 영향을 주지 않고 독립적으로 평가되도록 합니다.​✅ 예제int temp = 35;boolean isRaining = tru..

Java/Grammar 2025.04.22

[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

[Java] Checked, Unchecked Exception

Checked Exception✅ 정의컴파일 타임(Compile-time)에 체크되는 예외반드시 try-catch로 처리하거나 throws로 명시해야 함🔎 예제 : IOException (Checked Exception)public static void copy(String source, String target) throws IOException { Files.copy(new File(source).toPath(), new File(target).toPath(), StandardCopyOption.REPLACE_EXISTING);} ➡️ 설명Files.copy()는 파일이 존재하지 않거나 읽을 수 없는 경우 IOException을 던질 수 있음IOException은 Checked Exceptio..

Java/Grammar 2025.03.25

[Java 문법] @Builder

@Builder✅ @Builder란? • 생성자나 Setter를 사용하지 않고, 체인 형식으로 객체를 생성하는 패턴 • 객체가 불변(Immutable)하도록 설계 가능 • 필요한 값만 선택적으로 설정 가능예제📍 기존 방식 : 생성자 사용public class User { private String name; private int age; public User(String name, int age) { this.name = name; this.age = age; }}User user = new User("Alice", 25); 🚨 문제점✔ 매개변수 순서를 기억해야 함✔ 필드를 선택적으로 설정하기 어려움✔ 코드 가독성이 떨어짐📍 @Builder 적용..

Java/Grammar 2025.03.19

[Java 문법] 불변 객체(Immutable Object)란? ft. 가변 객체

가변 객체(Mutable Object)가변 객체는 상태를 변경할 수 있는 객체입니다.✅ 가변 객체(Mutable Object) 예제public class MutableUser { private String name; private int age; public MutableUser(String name, int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; }}// 객체 생성 및 변경 가능MutableUse..

Java/Grammar 2025.03.18

Gradle VS Maven

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

Java/CS 2025.03.01
반응형