본문 바로가기
728x90

IT 이야기/Java22

[Java Study] 13일차 I/O [input/output] 학습할 것 스트림 (Stream) / 버퍼 (Buffer) / 채널 (Channel) 기반의 I/O InputStream과 OutputStream Byte와 Character 스트림 표준 스트림 (System.in, System.out, System.err) 파일 읽고 쓰기 스트림 (Stream) / 버퍼 (Buffer) / 채널 (Channel) 기반의 I/O I/O Stream I/O Stream은 Input source 또는 output 지점을 나타낸다. 또한 Stream은 디스크 파일, 장치, 프로그램, 메모리 등 다양한 소스와, 관련 대상을 나타낼 수 있습니다. Stream은 simple byte, primitive type, objects 등의 다양한 데이터를 지원하며 일부 Stream은 단순.. 2021. 2. 13.
[Java Study] 12일차 Annotation 학습할 것 애노테이션 정의하는 방법 @retention @target @documented 애노테이션 프로세서 Annotations meta data의 일종, 주석과 비슷한 관계로 미리 약속된 규율이 없었다면 컴파일러는 아무행동도 하지 않는 코드로 생각됩니다. Annotation은 Java SE 8 부터 활용되고 있으며 활용법은 다음과 같습니다. 컴파일러에게 정보를 주는 역할 : 컴파일러가 에러나 경고를 탐지하는데 사용될 수 있음 컴파일 시간, 배포 시간처리 : 소프트웨어 툴이 annotation으로 코드를 생성하거나 XML을 생성할 수 있음 런타임 처리 : 몇몇 annotation은 런타임 중에 annotation을 검사하고 활용할 수 있습니다. 애노테이션 정의하는 방법 기본형태 @Entity, @{N.. 2021. 2. 4.
[Java Study] 11일차 Enum 학습할 것 enum 정의하는 방법 enum이 제공하는 메소드 (values()와 valueOf()) java.lang.Enum EnumSet Enum class 열거형으로 불리며 JDK 1.5 버젼부터 지원하고 있습니다. 상수처럼 사용하고 있기 때문에 정의할때 필드 이름은 대문자로 사용하고 있으며 문자열에 비해 IDE의 많은 지원, 허용 값 제한 등의 장점을 가지고 있습니다. 또한 리팩토링시 변경범위가 줄어든다는 장점이 있다고 합니다. ※ woowabros.github.io/tools/2017/07/10/java-enum-uses.html enum 정의하는 방법 가장 기본이 되는 정의법은 enum 키워드 옆에 객체 이름을 넣고 {}안에 type을 정의합니다. enum [name] { type1, type.. 2021. 1. 26.
[Java Study] 10일차 Thread, Runnable 학습할 것 Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 처음으로 API문서를 보면서 공부해봤는데 class의 경우에는 내부에 포함하고 있는 method, emun 등 기본정보는 당연하게 포함하고 있고 있을거라고 생각하지 않았던 implements 인터페이스를 상속받아 사용하는 부분들 까지 설명이 되어있어 은근히 공부하기 편했습니다. Thread 클래스와 Runnable 인터페이스 Thread, Runnable? 뭐지? 프로그램에서 프로세스는 프로그램의 작업 단위로 사용되는데 기본 원칙은 프로세스를 점유하는 작업은 작업이 끝날때까지 다른 작업이 프로세스를 사용할 수 없게 하는것이 원칙입니다. 하지만 Thread를 사용하면 프로세스를 공유하며.. 2021. 1. 17.
728x90