클래스 멤버
필드의 구분 필드의 구분 클래스의 필드(field)란 클래스에 포함된 변수(variable)를 의미한다. 클래스 내에서 필드는 선언된 위치에 따라 다음과 같이 구분된다. 클래스 변수(static variable) 인스턴스 변수(instance vari...
필드의 구분 필드의 구분 클래스의 필드(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...
스트림 스트림(stream) 자바에서는 파일이나 콘솔의 입출력을 직접 다루지 않고, 스트림(stream)이라는 흐름을 통해 다룬다. 스트림(stream)이란 실제의 입력이나 출력이 표현된 데이터의 이상화된 흐름을 의미한다. 즉, 스트림은 운영체제에 의해 생성되는 가상의 연결 고리를 의미하며, 중간 매개자 역할을 한다. Ja...
예외 처리 오류(error)와 예외(exception) 자바 프로그램을 작성할 때 자바 문법에 맞지 않게 코드를 작성하고 컴파일하려고 하면, 자바 컴파일러는 문법 오류(syntax error)를 발생시킨다. 또한, 자바 문법에는 맞게 작성되었다 하더라도 프로그램이 실행되면서 예상하지 못한 오류가 발생할 수 있다. 이렇게 컴퓨터...
https://school.programmers.co.kr/learn/courses/30/lessons/181841 문제 풀이 import java.util.ArrayList; import java.util.List; public class Solution { public static String solution(String[]...