본문 바로가기

언어/Java

(93)
날짜와 시간 클래스 ※ java.util 패키지에서 컴퓨터의 날짜와 시간을 읽을 수 있도록 Date와 Calendar 클래스를 제공 java.time 패키지에서 날짜와 시간을 조작할 수 있도록 LocalDateTime 등의 클래스를 제공 Date 클래스 : 날짜 정보를 전달하기 위해 사용 Calendar 클래스 : 다양한 시간대별로 날짜와 시간을 얻을 때 사용 LocalDateTime 클래스 : 날짜와 시간을 조작할 때 사용 - Date 클래스 현재 날짜를 문자열로 얻고 싶다면 toString() 메서드나 SimpleDateFormat 클래스와 함께 사용 Date now = new Date(); String strNow1 = now.toString(); System.out.println(strNow1); // Sun Nov..
포장 클래스(Wrapper class) ※ 포장 클래스(Wrapper class) : 기본 자료형(byte, char, short, int, long, float, double, boolean, 메모리 상에 직접 값을 저장하며, null 값을 가질 수 없음 )을 참조형(객체(Object)를 나타내는 자료형으로, 클래스, 인터페이스, 배열 등이 여기에 해당. 이 자료형들은 메모리 상에 객체의 주소를 가지며, null 값을 가질 수 있다)으로 바꿀 때 사용하는 class들 포장 객체를 생성하기 위한 클래스는 java.lang 패키지에 포함되어 있다. 기본타입 포장 클래스 byte Byte char Character short Short int Integer long Long float Float double Double boolean Boolea..
정규표현식(regex) ※ 정규 표현식(Regular Expression) 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. ? 물음표는 0번 또는 1차례까지의 발생을 의미한다. 이를테면 colou?r는 "color"와 "colour"를 둘 다 일치시킨다. * 별표는 0번 이상의 발생을 의미한다. 이를테면 ab*c는 "ac", "abc", "abbc", "abbbc" 등을 일치시킨다. + 덧셈 기호는 반드시 1번 이상의 발생을 의미한다. 이를테면 ab+c는 "abc", "abbc", "abbbc" 등을 일치시키지만 "ac"는 일치시키지 않는다. {n} 정확히 n 번만큼 일치시킨다. {min,} "min"번 이상만큼 일치시킨다. {min,max} 적어도 "min"번만큼 일치시키지만 "max"번을 초과하여 ..
문자열 클래스 String StringBuilder 사용법 편리 불편 String s = "Hi"; StringBuilder sb = new StringBuilder("Hi"); 결합연산자 + 없음 sop(s+"JAVA"); sop(sb.append("JAVA")); 객체내용 불변 가변 Hi+"JAVA" 시 새로운 String 객체 만들어짐 sb.append("JAVA") 시 기본 String 객체의 내용이 변경됨 (메모리가 효율적) equals() 재정의 됨 재정의 안됨 String s1 = "Hi"; String s2 = "Hi"; String s3 = new String("Hi"); String s4 = new String("Hi"); s1.equals(s2); // true s1.equals(s3); // tr..
롬복(Lombok) ※ 롬복(Lombok)은 JDK에 포함된 표준 라이브러리는 아니지만 개발자들이 즐겨 쓰는 자동 코드 생성 라이브러리 @Data : Getter, Setter, hashCode(), equals(), toString() 메소드가 자동 생성 @NoArgsConstructor : 기본(매개변수가 없는) 생성자 포함 @AllArgsConstructor : 모든 필드를 초기화시키는 생성자 포함 @RequiredArgsConstructor : 기본적으로 매개변수가 없는 생성자 포함. 만약 final 또는 @NonNull이 붙은 필드가 있따면 이 필드만 초기화시키는 생성자 포함 @Getter : Getter 메소드 포함 @Setter : Setter 메소드 포함 @EqualsAndHashCode : equals()와..
java.base 모듈 ※ java.base는 모든 모듈이 의존하는 기본 모듈 모듈 중 유일하게 requires 하지 않아도 사용할 수 있다. 패키지 용도 java.lang 자바 언어의 기본 클래스를 제공 java.util 자료 구조와 관련된 컬렉션 클래스를 제공 java.text 날짜 및 숫자를 원하는 형태의 문자열로 만들어 주는 포맷 클래스를 제공 java.time 날짜 및 시간을 조작하거나 연산하는 클래스를 제공 java.io 입출력 스트림 클래스를 제공 java.net 네트워크 통신과 관련된 클래스를 제공 java.nio 데이터 저장을 위한 Buffer 및 새로운 입출력 클래스 제공 ex) java.lang : String, System, Integer, Double, Exception, RuntimeException ..
API 도큐먼트 ※ 자바 표준 모듈에서 제공하는 라이브러리는 방대하기 때문에 쉽게 찾아서 사용할 수 있도록 도와주는 API(Application Programming Interface) 도큐먼트가 있다. 라이브러리가 클래스와 인터페이스의 집합이라면, API 도큐먼트는 이를 사용하기 위한 방법을 기술한 것이다. - 수업시간에 사용한 API 도큐먼트 Overview (Java SE 11 & JDK 11 ) (oracle.com) Overview (Java SE 11 & JDK 11 ) This document is divided into two sections: Java SE The Java Platform, Standard Edition (Java SE) APIs define the core Java platform fo..
LIFO와 FIFO ※ LIFO(Last In First Out) 후입선출. 나중에 넣은 객체가 먼저 빠져나간다. ex) 스택(Stack) 클래스 스택을 응용한 대표적인 예 : JVM 스택 메모리 | | | 3 | | 2 | | 1 | |_______| // Stack 객체를 생성하는 방법 Stack stack = new Stack(); Stack stack = new Stack(); - Stack 객체의 주요 메소드 리턴타입 메소드 설명 E push(E item) 주어진 객체를 스택에 넣는다. E pop() 스택의 맨 위의 객체를 빼낸다. ※ FIFO(First In First Out) 선입선출. 먼저 넣은 객체가 먼저 빠져나간다. ex) 큐(Queue) 인터페이스 스택을 응용한 대표적인 예 : 스레드풀(ExecutorS..