본문 바로가기

JAVA

(18)
제네릭(Generic) 제네릭이란 제네릭 사용법 제네릭 메소드 만들기 제네릭 주요 개념(바운드 타입 와일드 카드) Erasure 제네릭이란? 제네릭은 '클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법' 입니다. 그러면 왜 클래스 내부에서 사용할 데이터 타입을 밖에서 지정해주자는 것인가? 아래 상황을 살펴봅시다. 자바를 좋아하는 촉이 좋은 '감자바'씬느 친구 '좀해조'씨로부터 두개의 숫자를 출력하는 프로그램을 만들어 달라는 요청을 받았습니다. 그래서 감자바씨는 흔쾌히 만들어주겠다고 하며 두팔을 걷어부치고 코딩을 했습니다. public class GenericExample { public static void main(String[] args) { cal cp = new calc(13, 17); cp.print(); ..
I/O (Input/Output) - 자바의 Input과 Output에 대한 학습 * 학습할 것 - 스트림(Stream) / 버퍼 (Buffer) / 채널(Channel) 기반의 I/O - InputStream과 OutputStream - Byte와 Character 스트림 - 표준 스트림(System.in, System.out, System.err) - 파일 읽고 쓰기 스트림(Stream) / 버퍼(Buffer) / 채널(Channel) I/O란? Input과 output의 약자로 입력과 출력을 나타냅니다. 죽, 컴퓨터 내부 똔느 외부와의 장치와 프로그램간 데이터를 주고 받는 것을 말합니다. input : 데이터를 입력 받는 것 output : 입력받은 데이터를 내보내는 것 스트림 실제의 입력이나 출력이 표현된 데이터의 이상화된 흐름을..
어노테이션 어노테이션이란? 1.1 어노테이션 어노테이션은 컴파일 과정에서 코드를 어떻게 컴파일할 것인지 실행 과정에서 코드를 어떻게 처리할 것인지를 알려주는 정보입니다. 즉 메타 데이터로써 역할을 합니다. 메타데이터는 데이터를 위한 설명을 의미하는 데이터가 담겨있습니다. 주로 컴파일러에게 코드 문법 에러를 검사하도록 정보를 제공하거나 코드를 자동으로 생성할 수 있도록 정보를 제공합니다. 런타임 시에는 특정 기능을 실행하도록 정보를 제공합니다. 사용방식은 @ + 어노테이션 명으로 특정 클래스나 메소드, 변수에 붙여 사용합니다. 1.2 Java에서 제공하는 어노테이션 @Override - 선언한 메소드가 오버라이드 되었다는 것을 나타냅니다. - 상위 클래스에서 해당 메소드를 찾을 수 없으면 컴파일 에러를 발생 시킵니다..
Enum Enum 정의하는 방법 Enum이란? enum(열거형)은 서로 관련된 상수를 편리하게 선언하기 위한 것으로 상수를 여러개 정의할 때 사용합니다. enum은 여러 상수를 정의한 후, 정의된 것 이외의 값은 허용하지 않습니다. 가장 간단하게 선언하는 방법은 다음과 같습니다. enum 열거형이름 {상수명1 상수명2, 상수명3} public class EnumDemo { enum Season {SPRING, SUMMER, FALL, WINTER} public static void printSeason(Season season) { switch (season) { case SPRING: System.out.println("봄입니다."); break; case SUMMER: System.out.println("봄입..
멀티쓰레드 프로그래밍 스레드 운영체제는 두가지 이상의 작업을 동시에 처리하는 멀티 태스킹(multi tasking)을 할 수 있도록 CPU 및 메모리 자원을 프로세스마다 적절히 할당해주고, 병렬로 실행시킵니다. 예를 들어, 워드로 문서 작업을 하면서 동시에 윈도우 미디어 플레이어로 음악을 들을 수 있습니다. 멀티 태스킹은 꼭 멀티 프로세스(프로세스는 프로그램을 수행하는데 필요한 데이터와 메모리 등의 자원과 쓰레드로 구성되어 있으며 프로세스의 자원을 이용해서 실제로 작업을 수행하는것이 바로 쓰레드입니다.)를 뜻하는 것은 아닙니다. 한 프로세스 내에서 멀티 태스킹을 할 수 있도록 만들어진 애플리케이션도 있습니다. 대표적인 것이 미디어 플레이어와 메신저입니다. 미디어 플레이어는 동영상과 재생과 음악 재생이라는 두 가지 작업을 동시..