
이번에 우아한 테크코스 7기 백엔드를 지원하게 되면서 프리코스를 진행하게 되었는데, 프리코스에서 주어진 과제는 Java 21 버전으로 수행해야된다는 요구사항이 있어 내가 사용하는 맥북(macOS) 기준으로 Java 버전 변경하는 방법을 공유하려고 한다.원하는 JDK 다

우아한 테크코스 7기 백앤드 프리코스의 1주차 미션인 '문자열덧셈계산기'를 구현하기 위해서 문자 사이의 문자(커스텀 구분자)를 추출해야 해결할 수 있다고 생각하여, 문자 사이의 값을 추출할 방법을 찾아보니 정규표현식을 사용하여 문자를 추출할 수 있는 방법이 있었다.

Java의 String 클래스에는 수많은 메서드들이 있는데, 그 중에서 자주 쓰이는 주요 메서드를 정리하여, 필요할 때 바로 찾을 수 있도록 정리해보려고 한다.length() : 문자열의 길이를 반환한다.isEmpty() : 문자열이 비어있는지 확인한다. (길이가 0)

String 클래스는 불변 객체로 값을 변경하게 되면 새로운 객체를 생성한다. 그래서 문자열을 자주 변경할 경우에는 성능과 메모리 사용면에서 비효율적이다.따라서, 문자열의 변경이 자주 일어날 경우에는 문자열 가변 객체인 StringBuilder를 사용하는 것이 성능과

자바에서 Class 클래스는 클래스의 정보(메타데이터)를 다루는데 사용된다. Class 클래스를 통해 개발자는 실행 중인 자바 애플리케이션 내에서 필요한 클래스의 속성과 메서드에 대한 정보를 조회하고 조작할 수 있다.타입 정보 얻기: 클래스의 이름, 슈퍼클래스, 인터페

System 클래스는 시스템과 관련된 기본 기능들을 제공한다.표준 입력, 출력, 오류 스트림: System.in , System.out , System.err 은 각각 표준 입력, 표준 출력, 표준 오류 스트림을 나타낸다.시간 측정: System.currentTimeM

Math 는 수 많은 수학 문제를 해결해주는 클래스이다.abs(x) : 절대값max(a, b) : 최대값min(a, b) : 최소값exp(x) : e^x 계산log(x) : 자연 로그log10(x) : 로그 10pow(a, b) : a의 b 제곱ceil(x) : 올림f

랜덤의 경우 Math.random() 을 사용해도 되지만 Random 클래스를 사용하면 더욱 다양한 랜덤값을 구할 수 있다.참고로 Math.random()도 내부에서는 Random 클래스를 사용한다.참고로 Random 클래스는 java.util 패키지 소속이다.rand

영어인 enum 은 enumeration 의 줄임말인데, 번역하면 열거라는 뜻이고, 어떤 항목을 나열하는 것을 뜻한다."Enumeration"은 일련의 명명된 상수들의 집합을 정의하는 것을 의미하며, 프로그래밍에서는 이러한 상수들을 사용하여 코드 내에서 미리 정의된 값

래퍼 클래스는 기본형을 객체로 감싸서 더 편리하게 사용하도록 도와주기 때문에 상당히 유용하다.쉽게 이야기해서 래퍼 클래스는 기본형의 객체 버전이다.자바는 기본형에 대응하는 래퍼 클래스를 기본으로 제공한다.byte -> Byteshort -> Shortint -> Int

가장 기본이 되는 날짜와 시간 클래스는 LocalDate , LocalTime , LocalDateTime 이다.LocalDate: 날짜만 표현할 때 사용한다. 년, 월, 일을 다룬다. 예) 2013-11-21LocalTime: 시간만을 표현할 때 사용한다. 시, 분,

"Asia/Seoul" 같은 타임존 안에는 일광 절약 시간제에 대한 정보와 UTC+9:00와 같은 UTC로 부터 시간 차이인 오프셋 정보를 모두 포함하고 있다.Europe/LondonGMTUTCUS/Arizona -07:00America/New_York -05:00As

Instant 는 UTC(협정 세계시)를 기준으로 하는, 시간의 한 지점을 나타낸다. Instant 는 날짜와 시간을 나노초 정밀도로 표현하며, 1970년 1월 1일 0시 0분 0초(UTC 기준)를 기준으로 경과한 시간으로 계산된다.쉽게 이야기해서 Instant 내부에

두 날짜 사이의 간격을 년, 월, 일 단위로 나타낸다.of() : 특정 기간을 지정해서 Period 를 생성한다.of(년, 월, 일)ofDays()ofMonths()ofYears()Period.between(startDate, endDate) : 특정 날짜 차이의 Pe

TemporalUnit 인터페이스는 날짜와 시간을 측정하는 단위를 나타내며, 주로 사용되는 구현체는java.time.temporal.ChronoUnit 열거형으로 구현되어 있다.ChronoUnit 은 다양한 시간 단위를 제공한다.여기서 Unit 이라는 뜻을 번역하면 단

ChronoField 는 날짜 및 시간을 나타내는 데 사용되는 열거형이다. 이 열거형은 다양한 필드를 통해 날짜와 시간의 특정 부분을 나타낸다. 여기에는 연도, 월, 일, 시간, 분 등이 포함된다.TemporalField 인터페이스는 날짜와 시간을 나타내는데 사용된다.

dayOfWeekInMonth : 주어진 요일이 몇 번째인지에 따라 날짜를 조정한다.firstDayOfMonth : 해당 월의 첫째 날로 조정한다.firstDayOfNextMonth : 다음 달의 첫째 날로 조정한다.firstDayOfNextYear : 다음 해의 첫째

add(E e) : 리스트의 끝에 지정된 요소를 추가한다.add(int index, E element) : 리스트의 지정된 위치에 요소를 삽입한다.addAll(Collection<? extends E> c) : 지정된 컬렉션의 모든 요소를 리스트의 끝에 추가한다.

add(E e) : 지정된 요소를 세트에 추가한다(이미 존재하는 경우 추가하지 음).addAll(Collection<? extends E> c) : 지정된 컬렉션의 모든 요소를 세트에 추가한다.contains(Object o) : 세트가 지정된 요소를 포함하고 있

put(K key, V value) : 지정된 키와 값을 맵에 저장한다. (같은 키가 있으면 값을변경)putAll(Map<? extends K,? extends V> m) : 지정된 맵의 모든 매핑을 현재 맵에 복사한다.putIfAbsent(K key, V val

Collections 주요 메서드 max : 정렬 기준으로 최대 값을 찾아서 반환한다. min : 정렬 기준으로 최소 값을 찾아서 반환한다. shuffle : 컬렉션을 랜덤하게 섞는다. sort : 정렬 기준으로 컬렉션을 정렬한다. reverse : 정렬 기준의 반대

배열을 리스트로 변경