JAVA 15

[JAVA 라이브러리] StringUtils

StringUtils org.apache.commons.lang의 클래스 org.apache.commons commons-lang3 3.8 자바의 String 클래스가 제공하는 문자열 강화 클래스 파라미터가 null이여도 NullPointException을 발생시키지 않음 메소드 IsEmpty() / IsBlank() : 빈 문자열 체크 Trim() / Strip() : 시작과 끝 공백제거 Equals() / Compare() : 문자열 비교 API https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html

[Lombok] Project Lombok이란

● Project Lombok https://projectlombok.org/ Project Lombok projectlombok.org - getter, setter 와 같은 메소드를 자동으로 생성해주는 자바 라이브러리 - 반복되는 코드가 줄어듦으로서 가독성과 코딩 생산성을 높일 수 있음 하지만 눈에 보이지가 않아서 직관성으 lombok 기능 - 기능 선택시 해당 설명으로 이동 val var @NonNull @Cleanup @Getter/@Setter @ToString @EqualsAndHashCode @NoArgsConstructor @RequiredArgsConstructor @AllArgsConstructor @Data @Value @Builder @SneakyThrows @Synchronized..

[JAVA] Iterator

Iterator 컬렉션에 저장된 요소를 접근하는데 사용되는 인터페이스 ​ Enumeration (Iterator의 구버전) ListIterator (Iterator의 기능을 향상 시킨것) ​ ​ ​ Iterator 컬렉션 프레임워크에서 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화 ​ 저장된 각 요소에 접근하는 기능을 가진 Iterator인터페이스를 정의하고, Collection interface에는 Iterator를 반환하는 iterator();를 정의하고 있다 ​

JAVA/JAVA 2022.11.08

[JAVA] Linked List

■ Linked List (연결 리스트) ​ ● 배열의 단점 ○ 크기 : 크기를 필요할때마다 줄였다 늘렸다 조절을 할 수가 없다. ○ 데이터의 추가 삭제 : 원하는 데이터를 추가 혹은 삭제를 할 수가 없다. ​ ● Linked List 하나의 데이터에 다음 데이터의 주소가 저장된 링크를 갖고 있어 배열과 같은 형태를 만든 것이다. ○ 장점 : 추가/삽입/삭제가 용이함 ○ 단점 : 특정위치의 노드에 접근하기 위해서는 순차적으로 탐색하여야 하여 탐색속도가 느림. ​ ● 구성 ○ Node : 데이터와 링크를 가짐 ○ Link : 다음 노드의 주소값을 가진다. ○ Head : 노드의 시작점 ○ Tail : 마지막 노드 ○ Node Container : 노드의 관리자

JAVA/JAVA 2022.11.08

[JAVA] Bubble Sort

■ 버블소트(Bubble Sort) ​ 두 개의 인접한 원소를 비교하여 정렬하는 방식. 거품 정렬은 데이터를 '비교'하면서 찾기 때문에 '비교 정렬'이며 정렬의 대상이 되는 데이터 외에 추가적인 공간을 필요로 하지 않기 때문에 '제자리 정렬(in-place sort)'이기도 하다. 정확히는 데이터를 서로 교환하는 과정(swap)에서 임시 변수를 필요로 하나, 이는 충분히 무시할 만큼 적은 양이기 때문에 제자리 정렬로 보는 것이다. 이는 선택정렬과도 같은 부분이다. ​ +) 정렬 과정에서 원소의 이동이 마치 거품이 수면위로 올라오는 것 같다고 해서 거품(Bubble) 이라는 이름이 붙었다고 한다. +) 제일 마지막부분은 바꿀 대상이 없기 때문에 for문이 반복될 이유가 없다. ​

JAVA/JAVA 2022.11.08

[JAVA] 클래스

​ ==용어== - Structured Programing (구조적 프로그래밍) : 프로그램이 실행될 때 위에서 아래로의 절차, 순서에 맞게 실행되는 방식 - Object-Oriented Progrming (객체지향 프로그래밍) : 모든 데이터를 오브젝트(object;물체)로 취급하여 프로그래밍 하는 방법으로, 처리 요구를 받은 객체가 자기 자신의 안에 있는 내용을 가지고 처리하는 방식 ​ ■ 클래스 ​ ● 구조적(절차적) 프로그래밍의 장점과 단점 - 장점 ○ 데이터의 변경 용이 : 별생각 없이 추가/변경이 가능 - 단점 : ○ 낮은 재활용성 : 기능재활용성 저하, 데이터 재활용성 저하. ○ 품질 유지비용 증가 : 도데체 이 코드는 어디에 있는가? ○ 보안문제 : 데이터는 누가 변경하였는가? 그리고 누구..

JAVA/JAVA 2022.11.08

[JAVA] 데이터타입/참조형_스트링과 배열

​ ■참조형 타입 ​ ● 참조형 타입 (Reference Type) & String 타입 - heap영역에 실제 데이터가 할당되고 스택을 통해 접근하는 데이터타입. - 선언된 변수의 메모리 주소를 값으로 가져 주소를 통해 참조한다. (기본타입은 실제값을 변수 안에 저장함) - new연산자 (객체 생성 연산자) : heap영역에 새로운 객체를 만들 때 사용한다. - 문자열을 리터럴로 생성하느냐 new연산자로 생성하느냐에 따라 비교 연산자의 결과가 달라질 수 있다. ​ ​ ​ ● 배열 (Array) - 같은 타입의 데이터를 연속된 공간에 나열시키고, 각 데이터에 인덱스(index)를 부여해 놓은 구조다. - 어떤 데이터타입을 T라고 할 때, T가 n개 연속하여 할당되어 구성된 자료구조. - 인덱스는 각 항목..

JAVA/JAVA 2022.11.08

[JAVA] 메소드와 스코프

● 메소드(method) - 프로세스에서 기능을 수행하기 위한 명령문의 집합 - 클래스에 포함되어 있음 - 구성요소 ○ 리턴형 : 기능(명령)을 실행한 결과 ○ 메소드 이름 : 메소드를 호출하기 위한 이름 ○ 파라미터 : 기능을 수행하기 위해 필요한 데이터 … parameter와 argumentm는 엄밀히 구분되지만 일반적으로 메소드에 전달되는 것을 parameter라고 부른다. ​ - public : 이 메소드를 외부에서 접근 가능하도록 공개함 - static : 이 메소드를 "클레스를 만들지 않아도" 접근 가능하도록 함 ​ ​ ●스코프 - 변수나 메소드가 호출되거나 I/O가 가능한 영역 - 스코프를 구분하는 경우 ○ 메소드 : 원인→ 메모리맴 (메모리 구조) ○ 키워드 : 원인→메모리맴 (메모리 구조..

JAVA/JAVA 2022.11.08

[JAVA] 메모리

■ 메모리의 이해 ​ ● 메모리란 - 컴퓨팅 시스템에서 데이터를 저장하기 위해 사용하는 장치 ​ ​ ● 메모리의 계층구조 - Processor registers (프로세서 레지스터) - Cache memory (캐시 메모리) - Main memory (주기억장치) - Auxiliary storage (보조기억장치) ​ ● 메모리 바인딩(Memory Binding or Address Binding) - 프로그램의 논리적 메모리를 실제 메모리와 연관시키는 기술 ​ ​ ● 바인딩의 종류 - Compile-time binding - Load-time binding …Load-time binding은 이론적으로 나눈것이며 개발자관점에서 compile-time으로 생각해도 무방. - Run-time binding ..

JAVA/JAVA 2022.11.08

[JAVA] 조건문과 반복문

*조건문이 실행되는 흐름 파악을 위한 그림으로 중괄호{}는 일부러 입력하지 않았습니다. ​ ■조건문 ​ ● if문 - if문의 조건식의 결과에 따라 블록의 실행 여부가 결정된다 - 조건식이 true면 블록을 실행하고, false면 실행하지 않는다. ​ ● if - else문 - if문은 else 블록과 함께 사용되어 조건식의 결과에 따라 실행 블록을 선택한다. - if문의 조건식이 true면 if문의 블록을 실행하고, false면 else문의 블록을 실행한다. - if문의 블록와 true문의 블록 중 한 블록만 실행하고 전체 if문을 벗어나는 것이다. ​ ● if - else if - else문 - 조건문이 여러개인 if문이다. - else if문의 수는 제한이 없으며 여러개의 조건식 중 true가 되는..

JAVA/JAVA 2022.11.08