Language

    자바 지네릭스(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. 스트림의 기능 ..

    Miniconda를 사용한 파이썬 설치

    Miniconda를 사용한 파이썬 설치

    데이터 과학 용도로 관련 패키지들을 일괄 설치하기 위해 Anaconda 라는 데이터 분석 플랫폼을 사용할 것인데, Anaconda는 용량이 너무 크므로 Anaconda가 최소화된 패키지로 구성된 Miniconda를 다운로드 한다. ※ 파이썬이 이전에 설치되었을 경우 프로그램을 삭제하고, 관련된 환경변수 설정도 삭제해준다. https://docs.conda.io/en/latest/miniconda.html Miniconda — Conda documentation Miniconda Miniconda is a free minimal installer for conda. It is a small, bootstrap version of Anaconda that includes only conda, Python, ..

    [바닐라JS] 기본 문법

    [바닐라JS] 기본 문법

    //변수를 선언할때는 기본으로 const 쓰기 //필요할때만 let! //String // const what = "Nicolas" // console.log(what); //Boolean //const wat = true; // Number // const wat = 666; //Float //const wat = 55.1; //우리가 가진 데이터 타입 정렬 //Array, Object const daysOfWeek = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]; console.log(daysOfWeek); const nicoInfo = { name:"Nicolas", age:33, gender:"Male", inHandsome:true, favMovies: ["Al..