Language/Java

    자바 지네릭스(Generics)

    목차 1. 지네릭스 2. 지네릭스 사용법 3. 지네릭스 주요 개념 (바운디드 타입, 와일드 카드) 4. 지네릭스 메소드 만들기 5. Erasure 목표: 자바의 지네릭스에 대해 학습하기 1. 지네릭스(Generics) 지네릭스는 '다양한 객체들을 다루는' 메서드나 컬렉션 클래스에, 컴파일 시의 타입 체크를 해주는 기능으로, JDK1.5에서 처음 도입되었다. 지네릭스를 왜 만들었을까? 예를 들어 ArrayList와 같은 컬렉션의 경우, 사실 사용 시에는 한 종류의 객체를 담는 경우가 더 많은데, 이때 매번 타입체크와 형변환을 하면 불편하지만 체크를 하지 않으면 원하지 않는 타입이 들어올 수도 있기 때문에 곤란하다. 지네릭스를 쓰면 이 문제를 해결할 수 있다. 지네릭스를 사용하면... 코드에서 컬렉션이 담을..

    JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가

    JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가

    목차 1. JVM이란 무엇인가 2. 설치 및 컴파일 하는 방법 3. 자바 파일을 실행하는 방법 4. 바이트코드란 무엇인가 5. JIT 컴파일러란 무엇이며 어떻게 동작하는가 6. JVM 구성 요소 7. JDK와 JRE의 차이 목표 : 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기 1. JVM이란 무엇인가 자바의 대표적인 특징 중 하나는 기존의 언어들과 달리 운영체제(OS)에 독립적이라는 것이다. 자바 이전의 C언어 등으로 만들어진 프로그램은 OS에 종속되어 있다. 프로그램이 실행되기 위해서는 OS가 제어하고 있는 HW의 메모리(RAM : 주기억장치)를 제어할 수 있어야 하기 때문이다. 이와 달리 자바가 OS에 독립적일 수 있는 이유는 JVM(Java Virtual Machine : 자바 ..

    Java 입출력 스트림

    Java 입출력 스트림

    입출력 스트림이란? Input/Output stream : 네트워크에서 자료의 흐름이 물과 같다는 의미에서 유래 다양한 입출력 장치에 독립적으로 일관성 있는 입출력 방식을 제공한다. 입출력이 구현 되는 곳에서는 모두 I/O 스트림을 사용한다. 즉 스트림을 쓰지 않고는 자료를 읽어들이거나 출력할 수 없다 키보드, 파일 디스크, 메모리 등 스트림 종류에는 뭐가 있을까 스트림은 다음과 같이 크게 3가지 기준으로 구분할 수 있다. 입출력을 동시에 할 수 있는 스트림은 없다. 또한 스트림 클래스는 종류와 그 메서드가 매우 많은데 간략하게만 알아보겠다. ​ 1. I/O 대상 기준 : 입력 스트림, 출력 스트림 2. 자료의 종류 : 바이트 스트림, 문자 스트림(워낙에 많이 써서 따로 만들어놓음) 3. 스트림의 기능 ..