제어자
패키지 패키지(package) 자바에서 패키지(package)란 클래스와 인터페이스의 집합을 의미한다. 이렇게 서로 관련이 있는 클래스나 인터페이스를 함께 묶음으로써 파일을 효율적으로 관리할 수 있게 된다. 또한, 협업 시 서로 작업한 클래스 사이에서 발생할 수 있는 이름 충돌 문제까지도 패키지를 이용하면 피할 수 있다. 자바에서 ...
패키지 패키지(package) 자바에서 패키지(package)란 클래스와 인터페이스의 집합을 의미한다. 이렇게 서로 관련이 있는 클래스나 인터페이스를 함께 묶음으로써 파일을 효율적으로 관리할 수 있게 된다. 또한, 협업 시 서로 작업한 클래스 사이에서 발생할 수 있는 이름 충돌 문제까지도 패키지를 이용하면 피할 수 있다. 자바에서 ...
메소드의 개념 메소드(method) 자바에서 클래스는 멤버(member)로 속성을 표현하는 필드(field)와 기능을 표현하는 메소드(method)를 가진다. 그중에서 메소드(method)란 어떠한 특정 작업을 수행하기 위한 명령문의 집합이라 할 수 있다. 메소드의 사용 목적 클래스에서 메소드를 작성하여 사용하는 이유는 ...
클래스의 개념 객체 지향 프로그래밍(OOP, Object-Oriented Programming) 객체 지향 프로그래밍에서는 모든 데이터를 객체(object)로 취급하며, 이러한 객체가 바로 프로그래밍의 중심이 된다. 객체(object)란 간단히 이야기하자면 실생활에서 우리가 인식할 수 있는 사물로 설명할 수 있다. 이러한 객체의 상태(...
필드의 구분 필드의 구분 클래스의 필드(field)란 클래스에 포함된 변수(variable)를 의미한다. 클래스 내에서 필드는 선언된 위치에 따라 다음과 같이 구분된다. 클래스 변수(static variable) 인스턴스 변수(instance vari...
JAVA8 변경 사항 JAVA8에서의 변경 사항 2014년에 발표된 자바의 최신 버전인 Java SE 8 버전에서는 많은 사항이 변경되거나 새롭게 추가되었다. Java SE 8에서 변경되거나 새롭게 추가된 사항 중에서 주목할 만한 특징은 다음과 같다. 람다 표현식(lambda express...
java.time 패키지 자바에서의 날짜 및 시간 처리 JDK 1.0에서는 Date 클래스를 사용하여 날짜에 관한 처리를 수행했다. 하지만 Date 클래스는 현재 대부분의 메소드가 사용을 권장하지 않고(deprecated) 있다. JDK 1.1부터 새롭게 제공된 Calendar 클래스는 날짜와 시간에 대한 정보를 손쉽게 얻을 ...
스트림 API 스트림 API Java SE 8부터 추가된 스트림 API는 앞서 입력과 출력에서 살펴본 스트림과는 전혀 다른 개념이다. 자바에서는 많은 양의 데이터를 저장하기 위해서 배열이나 컬렉션을 사용한다. 이렇게 저장된 데이터에 접근하기 위해서는 반복문이나 반복자(iterator)를 사용하여 매번 새로운 코드를 작성해야 한다. ...
제네릭의 개념 제네릭(generic)이란? 자바에서 제네릭(generic)이란 데이터의 타입(data type)을 일반화한다(generalize)는 것을 의미한다. 제네릭은 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법이다. 이렇게 컴파일 시에 미리 타입 검사(type check)를 수행하면...
스레드의 개념 프로세스(process)란? 프로세스(process)란 단순히 실행 중인 프로그램(program)이라고 할 수 있다. 즉, 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당받아 실행 중인 것을 말한다. 이러한 프로세스는 프로그램에 사용되는 데이터와 메모리 등의 자원 그리고 스레드로 구성된다. 스레드...
람다 표현식 람다 표현식(lambda expression)이란? 람다 표현식(lambda expression)이란 간단히 말해 메소드를 하나의 식으로 표현한 것이다. // 메소드 int min(int x, int y) { return x < y ? x : y; } // 람다 표현식 (x, y) -> x < y...