[JAVA 스터디] 13주차 과제 : I/O
·
Live Study
목표자바의 Input과 Output에 대해 학습하기 스터디 목차스트림 (Stream) / 버퍼 (Buffer) / 채널 (Channel) 기반의 I/OInputStream과 OutputStreamByte와 Character 스트림표준 스트림 (System.in, System.out, System.err)파일 읽고 쓰기 1. 스트림 (Stream) / 버퍼 (Buffer) / 채널 (Channel) 기반의 I/O I/O란?input과 output의 약자로 입력과 출력을 나타낸다. 즉, 컴퓨터 내부 또는 외부와의 장치와 프로그램간의 데이터를 주고 받는 것을 말한다. 스트림스트림이란 연속적인 데이터의 흐름을 물에 비유해서 붙여진 이름인데, 여러 가지로 유사한 점이 많다. 물이 한쪽 방향으로만 흐르는 것과 같이..
[JAVA 스터디] 12주차 과제 : 애노테이션
·
Live Study
목표자바의 애노테이션에 대해 학습하기 스터디 목차애노테이션 정의하는 방법@retention@target@documented애노테이션 프로세서 1. 애노테이션 정의하는 방법 애노테이션(Annotation) 이란?자바에서 클래스 또는 메서드 앞에 @Override 같은 @ 표시가 애노테이션 이다.이 애노테이션은 java5 부터 새롭게 추가되었다. 이 애노테이션으로 인해 데이터의 유효성 검사 등을 쉽게 알 수 있고, 이와 관련한 코드가 깔끔해지게 된다.애노테이션의 용도는 다양한 목적이 있지만 메타 데이터의 비중이 가장 크다 할 수 있다. 메타 데이터(Meta-Data) : 데이터를 위한 데이터를 의미하며, 데이터에 대한 설명을 의미하는 데이터 (자신의 정보를 담고 있는 데이터) 애노테이션 정의 방법public..
[JAVA 스터디] 11주차 과제 : Enum
·
Live Study
목표자바의 열거형에 대해 학습하기. 스터디 목차enum 정의하는 방법enum이 제공하는 메소드 (values()와 valueOf())java.lang.EnumEnumSet 1. enum 정의하는 방법 enum이란?enumeration의 앞글자로 열거라는 뜻이고 JDK 1.5 부터 관련이 있는 상수들의 집합을 사용할 때 enum을 사용한다.enum은 완전한 클래스이다. 기존 방식의 문제한 클래스에 final static으로 다 선언하자니 네임충돌 발생할 수도 있고, 복잡함인터페이스를 사용하면 위 문제는 해결되나, 타입 안정성이 떨어짐enum의 장점코드가 단순해지고, 가독성이 좋아짐enum 키워드를 사용해서 구현의 의도가 열거임을 나타냄열거체를 비교할 때 실제 값뿐만이 아니라 타입까지도 체크함열거체의 상..
[JAVA 스터디] 10주차 과제 : 멀티쓰레드 프로그래밍
·
Live Study
목표자바의 멀티쓰레드 프로그래밍에 대해 학습하기 스터디 목차Thread 클래스와 Runnable 인터페이스쓰레드의 상태쓰레드의 우선순위Main 쓰레드동기화데드락 1. Thread 클래스와 Runnable 인터페이스 Thread란동작하고 있는 프로그램을 프로세스(Process)라고 한다. 보통 한 개의 프로세스는 한 가지의 일을 하지만, 이 쓰레드를 이용하면 한 프로세스 내에서 두 가지 또는 그 이상의 일을 동시에 할 수 있게 된다. 적어도 2개 이상의 쓰레드가 한 프로세스 내에서 처리되는 것이 멀티 쓰레드 이다. 멀티 태스킹과 멀티쓰레딩멀티태스킹은 여러개의 프로세스를 동시에 실행하는 것이다. 그렇다면, 왜 굳이 멀티태스킹(멀티프로세스)로 처리하면 될 것을 다시 쓰레드까지 쪼개서 처리해야 될까? 문제는 바..