Java에서는 숫자의 진법 변환을 매우 간단하게 처리할 수 있는 내장 메서드를 제공합니다.특히, 8진수, 10진수, 16진수와 같은 다양한 진법을 다룰 때 효율적입니다.이번 글에서는 Integer 클래스의 주요 메서드들을 활용해 진법 변환을 정리하겠습니다.1. Integer.parseInt(String s, int radix)parseInt 메서드는 문자열로 주어진 숫자를 지정된 진법(기수)으로 해석하여 10진수 정수로 변환합니다.사용법int decimal = Integer.parseInt("17", 8); // 8진수 '17'을 10진수로 변환System.out.println(decimal); // 출력: 15매개변수s: 변환하려는 숫자를 나타내는 문자열.radix: 숫자가 표현된 진법 (2, 8, 1..
Java
https://www.acmicpc.net/problem/11286문제 설명이 문제는 정수들을 입력받아 다음과 같은 두 가지 작업을 수행하는 프로그램을 작성하는 것입니다.정수 입력: 정수 x를 입력받았을 때, x가 0이 아닌 경우 해당 숫자를 우선순위 큐에 추가합니다.0 입력: 만약 0이 입력되면, 현재 큐에 있는 수 중에서 절대값이 가장 작은 수를 출력하고 해당 수를 큐에서 제거합니다. 만약 절대값이 동일한 수가 여러 개 있다면, 그 중에서 가장 작은 수를 출력합니다. 큐가 비어있을 경우에는 0을 출력합니다.public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextI..
JVM이란 무엇인가?JVM은 Java 애플리케이션을 실행하기 위한 가상 기계입니다. 직역하면 '자바를 실행하기 위한 가상 컴퓨터'라고 할 수 있습니다.이 가상 컴퓨터는 Java 프로그램이 운영체제(OS)와 독립적으로 실행될 수 있도록 도와줍니다. Java의 플랫폼 독립성과 JVMJava의 가장 큰 특징 중 하나는 OS에 종속되지 않는다는 점입니다. 이는 Java 프로그램이 다양한 운영체제에서 동일하게 동작할 수 있다는 의미입니다. 하지만, 이를 실현하기 위해서는 운영체제와 Java 프로그램 사이에서 중개 역할을 하는 무언가가 필요합니다. 이 역할을 수행하는 것이 바로 JVM입니다. JVM은 CPU가 JAVA 프로그램을 인식하고 실행할 수 있도록 하는 가상 컴퓨터입니다. 실제 컴퓨터처럼 Java 애플리케..
Effective Java 3/E 판을 읽고 정리한 기록입니다. "private 생성자나 열거타입으로 싱글톤을 보장한다"는 말은 객체지향 프로그래밍에서 사용되는 디자인 패턴 중 하나인 싱글톤(Singleton) 패턴을 의미합니다. 싱글톤 패턴은 애플리케이션에서 인스턴스가 단 하나만 생성되도록 보장하는 패턴입니다. Private 생성자클래스의 생성자를 private 로 선언하여 외부에서 직접적으로 인스턴스를 생성할 수 없도록 합니다. 이는 외부에서 새로운 인스턴스를 생성하는 것을 막아, 오직 클래스 내부에서만 인스턴스를 생성할 수 있도록 합니다. 열거타입(Enum)Java에서는 열거타입을 이용해 싱글톤을 구현할 수 있습니다. 열거타입은 JVM에 의해 클래스가 로딩될 때 하나의 인스턴스로 보장되기 때문..
Effective Java 3/E 판을 읽고 정리한 기록입니다. "생성자에 매개변수가 많다면, 빌더를 고려하라"는 것은자바에서 객체를 생성할 때, 매개변수가 많은 경우, 가독성이 떨어지고 실수를 범하기 쉬워지며 코드 유지보수가 어려워질 수 있다는 의미입니다. 따라서 많은 매개변수를 가진 생성자 대신 객체를 생성하기 위한 빌더 디자인 패턴을 고려해야 한다는 것을 나타냅니다. 점층적 생성자 패턴(Telescoping constructor pattern) 점층적 생성자 패턴은 객체를 생성할 때 선택적 매개변수를 포함한 여러 개의 생성자를 제공하는 방식입니다. 이 패턴은 생성자의 매개변수 수가 늘어날수록 코드의 가독성과 유지보수가 저하될 수 있어, 선택적으로 사용되는 생성자를 제공해 불필요한 복잡성을 줄이는 ..
Effective Java 3/E판을 읽고 정리한 기록입니다. 정적 팩터리 메소드란? https://yujin-17.tistory.com/entry/Java-%EC%A0%95%EC%A0%81-%ED%8C%A9%ED%86%A0%EB%A6%AC-%EB%A9%94%EC%84%9C%EB%93%9CStatic-Factory-Method Java | 정적 팩토리 메서드(Static Factory Method)정적 팩토리 메서드(Static Factory Method) 클래스의 인스턴스를 생성하고 반환하는 정적 메서드 입니다. 주로 생성자 대신 사용되며, 객체 생성 로직을 숨기고 객체 생성을 유연하게 다룰 수 있게 합yujin-17.tistory.com미리 정적 팩토리 메서드가 무엇인지에 대해 정리를 해놨습니다.미리..
Utility Class? 주로 특정한 목적을 위해 여러 메서드를 제공하는 클래스입니다. 이러한 클래스는 주로 정적(static) 메서드로만 구성되어 있으며, 인스턴스를 생성하지 않고도 직접 메서드를 호출할 수 있습니다. 특징 정적 메서드로만 구성되어 클래스의 인스턴스를 생성하지 않고도 직접 메서드를 호출할 수 있도록 합니다. 상태를 가지지 않고, 입력 값을 받아 결과를 반환하는 메서드들로 이루어집니다. 즉, 상태를 갖는 인스턴스 변수를 가지지 않습니다. 재사용 가능한 메서드들을 제공합니다. 유틸리티 클래스의 메서드들은 어떤 특정한 작업을 수행하는데 필요한 로직들을 캡슐화하고, 다양한 곳에서 재사용이 가능하도록 설계됩니다. 객체 생성이 필요 없습니다. 주로 객체 생성에 관련이 없거나 객체의 생성이 필요하..
정적 팩토리 메서드(Static Factory Method) 클래스의 인스턴스를 생성하고 반환하는 정적 메서드 입니다. 주로 생성자 대신 사용되며, 객체 생성 로직을 숨기고 객체 생성을 유연하게 다룰 수 있게 합니다. 이러한 정적 팩토리 메서드는 해당 클래스의 이름을 갖지 않아도 되며, 호출할 때마다 새로운 객체를 생성할 필요가 없을 때 특히 유용합니다. 메서드 생성 public class MyClass { // 생성자 대신 사용되는 정적 팩터리 메서드 public static MyClass createInstance() { // 객체 생성 로직 return new MyClass(); } } 위의 생성된 메서드를 활용하여 객체 생성 MyClass instance = MyClass.createInstanc..