[JAVA] JVM이란?
·
JAVA
Java를 공부하다 보면 꼭 만나게 되는 개념이 JVM (Java Virtual Machine) 입니다. 이 글에서는 JVM이 무엇이고, 어떻게 동작하며, 구성 요소는 어떤 것들이 있는지 쉽게 정리해보겠습니다.📌 JVM이란?JVM(Java Virtual Machine) 은 직역하면 "자바를 실행하기 위한 가상의 컴퓨터"입니다.Java는 다양한 운영체제(OS)에서 동일한 코드로 동작할 수 있는 특징을 가지는데, 그 중심에 JVM이 있습니다.즉, OS에 종속되지 않고 Java 프로그램을 실행하기 위한 중간 매개체 역할을 하는 게 바로 JVM입니다.💡 JVM은 OS 위에서 Java Bytecode를 해석하고 실행하는 가상 머신입니다.🔧 Java 컴파일 과정Java는 소스코드 .java → .class(B..
[JAVA] 코딩테스트 필수 문법 정리
·
JAVA
코딩테스트에서 자주 사용하는 Java 문법을 정리했습니다. 자주 쓰이는 메서드와 자료구조 활용법을 쉽게 이해할 수 있도록 설명합니다.1. 문자열 (String) 문자열 기본 메서드String str = "apple";str.length(); // 문자열 길이 반환 -> 5str.isEmpty(); // 빈 문자열 여부 확인 -> falsestr.charAt(0); // 특정 위치 문자 반환 -> 'a'str.indexOf("p"); // 특정 문자 첫 등장 위치 -> 1str.lastIndexOf("p"); // 특정 문자 마지막 등장 위치 -> 2 문자열 자르기 & 치환str.substring(1, 3); // "pp" (인덱스 1 이상 3 미만 부분 반환)str...
[JAVA] 전략 패턴(Strategy Pattern)
·
JAVA
전략 패턴(Strategy Pattern)으로 동작 방식을 유연하게 변경하기소프트웨어 설계에서 전략 패턴(Strategy Pattern)은 매우 중요한 역할을 합니다. 프로그램의 동작 방식이 여러 가지가 있을 때, 이를 유연하게 관리하고 변경할 수 있게 해주는 디자인 패턴입니다. 이번 포스팅에서는 전략 패턴의 개념과 사용 목적을 설명하고, 실제 예제를 통해 어떻게 전략 패턴을 적용할 수 있는지 살펴보겠습니다.1. 전략 패턴이란?전략 패턴은 동작 방식을 캡슐화하여, 동적으로 전략을 변경할 수 있도록 하는 디자인 패턴입니다. 이 패턴은 어떤 기능을 수행할 여러 방법이 있을 때, 그 방법들을 전략(Strategy) 클래스에 정의하고, 클라이언트 코드에서는 실행 시점에 적절한 전략을 선택하여 사용할 수 있게 해..
[JAVA] 어댑터 패턴(Adapter Pattern)
·
JAVA
어댑터 패턴은 호환되지 않는 인터페이스를 가진 클래스들 간에 통신이 가능하도록 도와주는 디자인 패턴입니다.즉, 기존 코드나 클래스를 수정하지 않고, 중간에 어댑터(Adapter)를 삽입하여 새로운 요구사항에 맞게 변환하는 역할을 합니다.어댑터 패턴은 다음과 같은 경우에 유용합니다:기존 코드가 새로운 인터페이스와 맞지 않을 때.호환되지 않는 시스템을 통합해야 할 때.코드 변경 없이 기존 클래스의 기능을 확장해야 할 때.어댑터 패턴의 구조Target (목표 인터페이스)클라이언트가 사용하려고 하는 인터페이스입니다.어댑터가 이 인터페이스를 구현하여 기존 클래스와 연결합니다.Adaptee (적응 대상)기존에 구현된 클래스입니다.Target 인터페이스와 호환되지 않아 직접 사용할 수 없는 클래스입니다.Adapter..
[JAVA] 싱글톤 패턴(Singleton Pattern)
·
JAVA
싱글톤 패턴(Singleton Pattern)이란?**싱글톤 패턴(Singleton Pattern)**은 하나의 클래스에서 단 하나의 객체만 생성되도록 보장하는 디자인 패턴입니다.이 패턴은 애플리케이션 전역에서 공유되는 객체를 사용할 때 유용하며, 전역 상태를 관리하거나 공유 리소스를 다룰 때 주로 사용됩니다.싱글톤 패턴이 필요한 이유전역 상태 관리하나의 인스턴스를 모든 코드에서 공유함으로써 데이터 일관성을 유지합니다.예: 애플리케이션의 설정 정보 관리, 로그 기록 객체 등.메모리 절약동일한 객체를 여러 번 생성하는 대신 하나의 객체를 공유하여 메모리 사용량을 줄입니다.객체 생성을 제어불필요한 객체 생성을 방지하고, 오직 하나의 객체만 존재하도록 제어합니다.싱글톤 패턴의 구현 방법1. 기본 구현 단계정적..
[JAVA] 콜백 메서드란?
·
JAVA
콜백 메서드(Callback Method)란?콜백 메서드는 특정 조건이 충족되었을 때 또는 특정 이벤트가 발생했을 때 자동으로 호출되는 메서드를 의미합니다.주로 비동기 작업이나 이벤트 기반 시스템에서 사용되며, 작업 효율성과 유연성을 높이는 데 도움을 줍니다.콜백 메서드의 동작 방식메서드는 호출자(Caller)와 피호출자(Callee)로 나눌 수 있습니다.호출자(Caller)특정 조건이나 작업이 완료되었을 때 실행될 동작(콜백)을 정의합니다.이 동작을 인터페이스로 구현하여 피호출자에게 전달합니다.피호출자(Callee)작업이 진행되는 동안 특정 조건을 감시하거나 이벤트를 처리합니다.조건이 충족되면 전달받은 콜백 메서드를 실행합니다.콜백 메서드를 활용하면 호출자가 주기적으로 조건을 확인하지 않아도 되므로 작..
[JAVA] 디자인 패턴(Design Pattern)
·
JAVA
디자인 패턴(Design Pattern)이란?디자인 패턴은 소프트웨어 개발 과정에서 반복적으로 발생하는 문제를 해결하기 위한 **검증된 모범 사례(Best Practice)**를 의미합니다. 이는 실제 현업에서 프로그래밍 문제를 다루는 과정에서 많은 개발자들이 고민하고 정리한 해결 방안의 집합입니다.디자인 패턴은 **객체 지향의 4대 특성(캡슐화, 상속, 추상화, 다형성)**과 **설계 원칙(SOLID)**을 기반으로 구현됩니다.디자인 패턴의 장점재사용성반복적인 문제를 해결하기 위한 일반적인 방법을 제공하여, 동일한 문제 상황에서 효율적으로 코드를 작성할 수 있습니다.가독성코드 구조가 명확해지고 일관된 규칙에 따라 작성되므로, 다른 개발자도 쉽게 이해하고 유지보수할 수 있습니다.유지보수성코드의 모듈화를 ..