전체 글

목표 자바의 제네릭에 대해 학습하세요. 학습할 것 제네릭 사용법 제네릭 주요 개념 (바운디드 타입, 와일드 카드) 제네릭 메소드 만들기 Erasure 1.제네릭 사용법 제네릭스는 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입체크를 해주는 기능이다. 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거로움이 줄어든다. class Box { Object item; public void setItem(Object item) { this.item = item; } public Object getItem() { return item; } } * 위의 코드에 제네릭을 적용시키려면 아래처럼 타입을 지정해줘야 한다. class Box { T item; publ..

목표 자바의 Input과 Ontput에 대해 학습하세요. 학습할 것 (필수) 스트림 (Stream) / 버퍼 (Buffer) / 채널 (Channel) 기반의 I/O InputStream과 OutputStream Byte와 Character 스트림 표준 스트림 (System.in, System.out, System.err) 파일 읽고 쓰기 1. 스트림 (Stream) / 버퍼 (Buffer) / 채널 (Channel) 기반의 I/O 스트림은 쉽게 이야기해서 데이터를 운반하기 위해 사용되는 통로라고 생각하면 된다. 연속적인 데이터의 흐름을 물(Stream)에 비유해서 붙여진 이름이고, 하나의 스트림으로 입출력을 동시에 수행할 수 없다. 입출력을 동시에 수행하려면, 2개의 스트림이 필요하다. 즉, 입력을 하..


목표 자바의 애노테이션에 대해 학습하세요. 학습할 것 애노테이션 정의하는 방법 @retention @target @documented 애노테이션 프로세서 1. 애노테이션 정의하는 방법 애노테이션이란 주석처럼 프로그래밍 언어에 영향을 미치지 않으며, 유용한 정보를 제공하는 것이다. 애노테이션 정의 후에 이런 식으로 쓰면 됨 @author @since public class Ex01 { ... } 애노테이션은 위의 사진처럼 정의하면 된다. 2. @Retention @Retention은 메타 애노테이션이며(메타 애노테이션이란 애노테이션을 위한 애노테이션이라고 생각하면 됨), 애노테이션이 유지되는 범위를 지정하는데 사용함 1. 컴파일러에 의해 사용되는 애노테이션의 유지 정책(SOURCE) @Target(Elem..

목표 자바의 열거형에 대해 학습하세요. 학습할 것 enum 정의하는 방법 enum이 제공하는 메소드 (values()와 valueOf()) java.lang.Enum EnumSet 1. enum 정의하는 방법 열거형(enum)은 서로 관련된 상수를 편리하게 선언하기 위한 것으로 여러 상수를 정의할 때 사용하면 유용하다. 원래 자바는 C언어와 달리 열거형이라는 것이 존재하지 않았으나 JDK1.5부터 새로 추가되었다. 자바의 열거형은 C언어의 열거형보다 더 향상된 것으로 열거형이 갖는 값뿐만 아니라 타입도 관리하기 때문에 보다 논리적인 오류를 줄일 수 있다. enum 열겨헝이름 { 상수명1, 상수명2, ...} 2. enum이 제공하는 메소드 (values()와 valueOf()) values()는 열거형의..

목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. 학습할 것 Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 1.Thread 클래스와 Runnable 인터페이스 쓰레드를 구현하는 방법은 Thread클래스를 상속받는 방법과 Runnable인터페이스를 구현하는 방법, 모두 두 가지가 있다. 어느 쪽을 선택해도 별 차이는 없지만 Thread클래스를 상속받으면 다른 클래스를 상속받을 수 없기 때문에, Runnable인터페이스를 구현하는 방법이 일반적이다. 1. Thread클래스를 상속 class MyThread1 extends Thread { public void run() { /* 작업내용 */ } } 2. Runnable인터페이스를 구현 cl..


목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차이는? 커스텀한 예외 만드는 방법 1.자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 예외 처리라는 것은 예외가 발생할 수도 있는 상황에 대비하여 코드를 작성하는 것이다. # try-catch(+finally)문 * 예외 처리의 정의&목적 1. 정의: 프로그램 실행시에 발생할 수 있는 예외의 발생에 대비하기 위한 목적 2. 목적: 프로그램의 비정상적인 종료를 막고, 정상적인 실행 상태를 유지하는 ..

목표 자바의 인터페이스에 대해 학습하세요. 학습할 것 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 인터페이스의 private 메소드, 자바 9 1.인터페이스 정의하는 방법 ‘class’대신 ‘interface’를 사용한다는 것 외에는 클래스 작성과 동일하지만 구성요소(멤버)는 추상메서드와 상수만 가능하다. # interface interface 인터페이스 이름{ public static final 타입 상수이름 = 값; public abstract 메서드 이름(매개변수 목록); } 1. 모든 멤버변수는 public static..

목표 자바의 패키지에 대해 학습하세요. 학습할 것 package 키워드 import 키워드 클래스패스 CLASSPATH 환경변수 classpath 옵션 접근지시자 1. package 키워드 패키지란, 클래스의 묶음이다. 패키지에는 클래스 또는 인터페이스를 포함시킬 수 있으며, 서로 관련된 클래스들끼리 그룹 단위로 묶어 놓음으로써 클래스를 효율적을 관리할 수 있다. 같은 이름의 클래스 일지라도 서로 다른 패키지에 존재하는 것이 가능하므로, 자신만의 패키지 체계를 유지함으로써 다른 개발자가 개발한 클래스 라이브러리의 클래스와 이름이 충돌하는 것을 피할 수 있다. package 패키지명; 2. import 키워드 소스코드를 작성할 때 다른 패키지의 클래스를 사용하려면 패키지명이 포함된 클래스 이름을 사용해야 ..