Thread 스레드 (Thread) 스레드(Thread) : 프로세스 내에서 실행되는 소스코드의 실행 흐름 프로세스(Process) 실행중인 애플리케이션 데이터, 컴퓨터자원, 스레드로 구성 어떤 프로세스는 단 하나의 스레드를 가질 수도, 여러개의 스레드를 가질 수 도 있음 ...
[Java-Effective] Stream / Optional
Stream 스트림 (Stream) 배열, 컬렉션의 저장요소를 하나씩 참조하여 람다식으로 처리할 수 있도록 해주는 반복자 List, Set, Map, 배열 등 다양한 데이터 소스로부터 만들 수 있다 데이터 소스를 다루는 풍부한 메서드 제공스트림의 특징 중간연산과 최종연산을 할 수 있다 선언형으로 데이터 소스를 처리 ...
[Java-Effective] Lambda
Lambda 함수형 프로그래밍 기법을 지원하는 자바의 문법요소 메서드를 하나의 식으로 표현 코드를 간결하면서도 명확하게 표현할 수 있다는 장점 반환타입과 이름 생략 가능, 익명함수라고도 부름 실행문이 하나만 존재할 때 중괄호 생략 가능 매개변수 타...
[Java-Effective] I/O
InputStream, OutputSteam InputStream, OutputStream Java에서 입출력을 다루기 위한 InputStream, OutputStream 제공 스트림은 단방향으로만 데이터를 전송할 수 있기 때문에, 입출력을 동시에 처리하기 위해서는 각각의 스트림 필요 어떤 대상을 다루느냐에 따라 종류 나뉨 ...
[Java-Effective] Annotation
Annotaion 애너테이션 (Annotation) 다른 프로그램에게 유용한 정보를 제공하는 역할 다른 프로그램들에게는 아무 영향을 주지 않는다애너테이션 주요 역할 컴파일러에게 문법에러를 체크하도록 정보 제공 프로그램 빌드 시 코드를 자동으로 생성할 수 있도록 정보 제공 런타임 시 특정 기능을 실행하도록 정보 제공표준 애너테이션...
[Java-Effective] Enum
열거형 (Enum) 열거형(enum, enumerated type) 서로 연관된 상수들의 집합 몇 가지로 한정된 변하지 않는 데이터를 다루는데 사용 열거형 사용 이유 // 여러 상수 정의 위한 옛 방식 // 계절 public static final int SPRING = 1; public static final int ...
[Java] Generic / Collection
제네릭 (Generic) 제네릭(Generic) 타입을 구체적으로 지정라는 것이 아니라, 추후에 지정할 수 있도록 일반화해두는 것 즉, 작성한 클래스 또는 메서드의 코드가 특정 데이터 타입에 얽매이지 않게 해둔 것 필요성 코드는 동일하지만 다른 타입들의 필드, 메서드, 클래스들이 필요해지면 각 타입마다의 클래스를 다시 작성해야함 제...
[Java] OOP 심화
객체지향 프로그래밍의 4개의 기둥 상속 (Inheritance) 상속 (Inheritance) 상위클래스의 멤버(필드, 메서드, 이너클래스)를 하위클래스에게 확장시키는 것 하위클래스의 멤버는 상위클래스의 멤버와 같거나 많다 코드의 재사용성 코드의 중복 제거 다형적 표현 가능 자바는 단일 상속만 가능(다중상속X) ...
[Java] OOP 기초
객체지향 프로그래밍 (OOP, Object Oriented Programming) 객체 (Object) : 모든 실재(實在)하는 어떤 대상 객체지향 프로그래밍 (Object Oriented Programming, OOP) 특정 객체에 속성(Field)과 기능(Method)을 넣어 객체들의 상호작용을 통해 특정 기능을 구성 객체지향 프로그...
[Java] 기본 문법
Java의 특징 1.운영체제의 독립적 JRE(Java Runtime Environment)가 설치되어 있는 모든 운영체제에서 실행 가능. JRE : JVM(자바 가상머신) + 표준 클래스 라이브러리. 2.객체 지향 언어(Object Oriented Programming, OOP) 모든 기능은 객체로 만들어 사용. 유지보수가 ...