
차이점 Collection은 인터페이스로 컬렉션의 공통 메서드를 정의하고, Collections는 유틸리티 클래스로 컬렉션을 조작하고 다양한 작업을 수행하는 메서드를 제공 Collection Java 컬렉션 프레임워크의 인터페이스 java.util 패키지에 속해 있으며, 다양한 컬렉션들의 상위 인터페이스 객체들의 그룹을 저장하고, 조작하는 데 사용되는 일반적인 동작과 메서드 정의 * Collection 인터페이스는 List, Set, Queue 등의 서브인터페이스를 상속받고 있음 Collection 인터페이스를 구현하는 클래스들은 객체들을 모아놓은 컬렉션을 표현하며, 각각의 클래스에 따라 저장 방식과 동작이 다를 수 있음 Collections Java 컬렉션 프레임워크에서 제공하는 유틸리티 클래스 jav..
Java 애플리케이션을 실행하기 위한 환경을 제공하는 소프트웨어 Java 애플리케이션을 실행하고 관리하는 역할을 담당하며, 애플리케이션의 생명주기를 제어하고 필요한 서비스 제공 Java 컨테이너는 대표적으로 Java EE(Enterprise Edition)및 Jakarta EE 의 스펙에 정의된 서버 컨테이너 웹 애플리케이션, 서비스, 마이크로서비스 등의 Java 애플리케이션을 실행할 수 있는 환경 제공 주요 기능 1. 생명 주기 관리 애플리케이션의 시작, 종료, 재시작 등의 생명주기 관리 애플리케이션의 초기화, 리소스 할당, 스레드 관리 등을 처리 2. 컴포넌트 관리 애플리케이션의 컴포넌트(서블릿 등)를 관리하고 제공 컴포넌트의 인스턴스화, 의존성 주입, 라이프사이클 관리 등을 담당 3. 리소스 관리 ..
추상 클래스에서 추상 메서드는 필수인가? 추상 클래스에서 추상 메서드는 하위 클래스에서 반드시 구현되어야 하는 필수적인 요소이다. 추상 클래스(Abstract Class) : 하나 이상의 추상 메서드(Abstract Method)를 포함하는 클래스 추상 메서드 : 메서드의 선언만 있고 구현은 없는 메서드 추상 클래스를 사용하는 이유 1. 메서드 구현 강제 추상 클래스를 상속받은 하위 클래스에서는 추상 메서드를 반드시 구현해야한다. 이를 통해 메서드의 구현을 강제할 수 있으며, 일관된 동작을 보장할 수 있다 2. 다형성(Polymorphism) 구현 추상 클래스를 상속받은 다양한 하위 클래스들은 같은 추상 메서드를 구현하므로, 일관된 방식으로 다룰 수 있다 다형성을 통해 유연하고 확장가능한 코드를 작성할 ..
String 클래스의 일반적인 메서드는? length() : 문자열의 길이를 반환 String str = "Hello, World!"; int length = str.length(); // 결과: 13 charAt(int index) : 주어진 인덱스에 해당하는 문자를 반환 String str = "Hello"; char ch = str.charAt(1); // 결과: 'e' 활용 예시 ) 문자열을 입력받아 하나씩 출력 import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String a = sc.next(); for (int i=..
Java 에서 문자열을 반전시키는 가장 좋은 방법 StringBuilder 클래스 : 가변적인 문자열을 처리하는데 사용되는 클래스 String originalString = "Hello, World!"; StringBuilder reversedString = new StringBuilder(originalString).reverse(); String result = reversedString.toString(); System.out.println(result); // 출력: "!dlroW ,olleH" 2023.07.17 - [Java] - Java | StirngBuilder - 1개 이상의 문자열 클래스 Java | StirngBuilder - 1개 이상의 문자열 클래스 StringBuilder " ..
동일하지 않다 String str = "i"; 문자열 리터럴을 사용하여 String 객체를 생성 자바에서 문자열 리터럴은 내부적으로 문자열 풀(String pool)에 저장되어 재사용될 수 있음 따라서 같은 문자열 리터럴을 사용하면 동일한 String 객체를 참조하게 됨 * 여기서 문자열 리터럴 : str String str = new String("i"); new 연산자를 사용하여 새로운 String 객체를 명시적으로 생성 이 경우에는 항상 새로운 String 객체가 생성되고, 문자열 풀에 있는지 여부와 상관없이 새로운 객체를 생성 * new 키워드를 사용하여 새로운 색체를 생성할 때, 메모리에서 새로운 공간이 할당됨
단일 스레드(Single-threaded) ? 멀티 스레드(Multi-threaded)? 단일 스레드 환경은 단순한 작업이나 순차적인 작업을 처리하는 데에 적합합니다. 하지만 멀티 코어 프로세서가 널리 사용되고 있고, 병렬 처리 또는 동시성이 필요한 작업들이 증가함에 따라 멀티 스레드 환경이 더 많이 사용되고 있습니다. 멀티 스레드를 사용하면 작업을 효율적으로 분할하여 병렬로 처리할 수 있어서 성능 향상이 이루어질 수 있습니다. 하지만 스레드 간의 동기화와 자원 공유에 주의해야 하며, 스레드 안전성 문제에 대한 고려가 필요합니다. String 문자열을 나타내는 불변( immutable) 클래스 문자열을 생성하고 조작하는데 사용 String 객체를 생성하면 그 값을 변경할 수 없으며, 문자열 연산이 필요한..

자료형에는 기본자료형과 참조자료형이 있다. 결론은 String 은 기본 데이터 타입이 아니다 기본 자료형을 제외한 자료형은 참조자료형이다.