Java/정리 46

jar파일 만들기

메이븐 저장소 https://mvnrepository.com/ ​개발자들이 기능을 모아둔곳 코드들을 압축해놓은것 ​ https://jsonplaceholder.typicode.com/ 서버구축 JSONPlaceholder - Free Fake REST API {JSON} Placeholder Free fake API for testing and prototyping. Powered by JSON Server + LowDB As of Dec 2020, serving ~1.8 billion requests each month. jsonplaceholder.typicode.com JSONPlaceholder - Free Fake REST API {JSON} Placeholder Free fake API for..

Java/정리 2021.09.14

자료구조 구현 클래스들 - 컬레션 프레임워크

● 프로그램 구현에 필요한 자료구조(Data Structure)를 구현해 놓은 JDK 라이브러리 ● java.util 패키지에 구현되어 있음 ● 개발에 소요되는 시간을 절약하면서 최적화 된 알고리즘을 사용할 수 있음 ● 여러 구현 클래스와 인터페이스의 활용에 대한 이해가 필요함 ​ ​ ​ ​ List 인터페이스 객체를 순서에 따라 저장하고 관리하는데 필요한 메서드가 선언된 인터페이스 자료구조 리스트 (배열, 연결리스트)의 구현을 위한 인터페이스 중복을 허용함 ​ ​ ​ Map 인터페이스 쌍(pair)로 이루어진 객체를 관리하는데 사용하는 메서드들이 선언된 인터페이스 객체는 key-value의 쌍으로 이루어짐 key는 중복을 허용하지 않음 ​ ​ ​ Set 인터페이스 순서와 관계없이 중복을 허용하지 않고 ..

Java/정리 2021.09.14

자료 구조란

● 프로그램에서 사용할 많은 데이터를 메모리 상에서 관리하는 여러 구현방법들 ● 효율적인 자료구조가 성능 좋은 알고리즘의 기반이 됨 ● 자료의 효율적인 관리는 프로그램의 수행속도와 밀접한 관련이 있음 ● 여러 자료 구조 중에서 구현하려는 프로그램에 맞는 최적의 자료구조를 활용해야 함으로 자료구조에 대한 이해가 중요함 ​ ​ ※ 자료구조에는 어떤 것들이 있나? ​ ​ 한 줄로 자료를 관리하기 (선형 자료구조) ​ ● 배열 (Array) : 선형으로 자료를 관리, 정해진 크기의 메모리를 먼저 할당받아 사용하고, 자료의 물리적 위치와 논리적 위치가 같음 -1 2 3 4 5 중에 3이 빠지게되면 4가 3이 되고 5가 4가 되는식으로 빠진 구멍을 뒤에서 차례대로 메우게된다. 자료를 등록해두고 서치를 할때 유용 ​..

Java/정리 2021.09.14

문자단위 입출력 스트림

Reader ​ ● 문자 단위 입력 스트림 최상위 추상 클래스 ● 많은 추상 메서드가 선언되어 있고 이를 하위 스트림이 상속받아 구현함 ​ ● 주요 하위 클래스 ​ ​ 주요 메서드 ​ ​ ​ ​ Writer ​ ● 문자 단위 출력 스트림 최상위 추상 클래스 ● 많은 추상 메서드가 선언되어 있고 이를 하위 스트림이 상속받아 구현함 ​ ● 주요 하위 클래스 ​ 주요 메서드 ​ ​ ​ ​ ​ 보조스트림 ​ ● 실제 읽고 쓰는 스트림이 아닌 보조 기능을 제공하는 스트림 ● FilterInputStream과 FilterOutputStream이 보조 스트림의 상위 클래스들 ● 생성자의 매개변수로 또 다른 스트림(기반 스트림이나 다른 보조 스트림)을 가짐 ● Decorator Pattern으로 구현 됨 ​ ​ ​ ​..

Java/정리 2021.09.13

표준 입출력 스트림

System 클래스의 표준 입출력 멤버 public class System{ public static PrintStream out; public static InputStream in; public static PrintStream err; } ​ ▶ System.out 표준 출력(모니터) 스트림 System.out.println("출력 메세지"); ​ ▶ System.in 표준 입력(키보드) 스트림 int d = System.in.read() // 한 바이트 읽기 ​ ​ ▶ System.err 표준 에러 출력(모니터) 스트림 System.err.println("에러 메세지"); ​ ​ ​ ​ ​ 바이트 단위 입출력 스트림 ​ ※ InputStream ​ ● 바이트 단위 입력 스트림 최상위 추상 클래스 ..

Java/정리 2021.09.13

자바의 입출력을 위한 I/O 스트림

● 자바의 입출력을 위한 I/O 스트림 ​ 입출력 스트림 ​ ● 네트워크에서 자료의 흐름이 물의 흐름과 같다는 비유에서 유래됨 ● 자바는 다양한 입출력 장치에 독립적으로 일관성있는 입출력을 입출력 스트림을 통해 제공 ● 입출력이 구현되는 곳: 파일 디스크, 키보드, 마우스, 네트웍, 메모리 등 모든 자료가 입력되고 출력되는 곳 ​ ​ ​ 입출력 스트림의 구분 ​ ● 대상 기준 : 입력 스트림 / 출력 스트림 ● 자료의 종류 : 바이트 스트림 / 문자 스트림 ● 기능 : 기반 스트림 / 보조 스트림 ​ ​ 입력 스트림과 출력 스트림 ​ ● 입력 스트림 : 대상으로부터 자료를 읽어 들이는 스트림 ● 출력 스트림 : 대상으로 자료를 출력하는 스트림 ​ ​ ​ ​ 스트림의 종류 ​ ​ 바이트 단위 스트림과 문자..

Java/정리 2021.09.13

래퍼클래스

​ 자바의 자료형은 크게 기본 타입(primitive type)과 참조 타입(reference type)으로 나누어집니다. 대표적으로 기본 타입은 char, int, float, double, boolean 등이 있고 참조 타입은 class, interface 등이 있는데 프로그래밍을 하다 보면 기본 타입의 데이터를 객체로 표현해야 하는 경우가 종종 있습니다. 이럴 때에 기본 자료타입(primitive type)을 객체로 다루기 위해서 사용하는 클래스들을 래퍼 클래스(wrapper class)라고 합니다. ​ ​ ​ ​ ​ ​ ​ public class Wrapper_Ex1 { public static void main(String[] args) { Integer num = new Integer(17);..

Java/정리 2021.09.07

Thread

Thread 란? ​ 하나의 프로세스는 하나 이상의 thread를 가지게 되고, 실제 작업을 수행하는 단위는 thread 이다. ​ ​ ​ ​ Thread Status ​ ​ ​ ​ 멀티 Thread 프로그래밍에서의 동기화 ​ 동기화 (synchronization) ​ ● 두 개의 thread 가 같은 객체에 접근 할 경우, 동시에 접근 함으로써 오류가 발생 ● 동기화는 임계영역에 접근한 경우 공유자원을 lock 하여 다른 thread의 접근을 제어 ● 자바에서는 synchronized 메서드나 synchronized 블럭을 사용 ​ ● synchronized 메서드 객체의 메소드에 synchronized 키워드 사용 현재 이 메서드가 속해있는 객체에 lock을 건다. ​ ● synchronized 블럭..

Java/정리 2021.09.07

제네릭

제네릭 자료형 정의 ​ ● 클래스에서 사용하는 변수의 자료형이 여러개 일수 있고, 그 기능(메서드)은 동일한 경우 클래스의 자료형을 특정하지 않고 추후 해당 클래스를 사용할 때 지정 할 수 있도록 선언하는 것 ● 실제 사용되는 자료형의 변환은 컴파일러에 의해 검증되므로 안정적인 프로그래밍 방식\ ● 컬렉션 프레임워크에서 많이 사용되고 있음 ​ ​ 제네릭 클래스 정의 public class GenericPrinter { private T material; public void setMaterial(T material) { this.material = material; } public T getMaterial() { return material; } public String toString(){ return..

Java/정리 2021.09.07