Programmers Lectures

[프로그래머스 자바 중급] Annotation

1 분 소요

Annotation이란? 자바 소스 코드에 추가하여 사용할 수 있는 메타데이터의 일종. 클래스나 메소드 위에 붙으며, @(at) 기호로 시작한다. JDK 1.5 버전 이상에서 사용 가능하다.

[프로그래머스 자바 중급] 입력과 출력 : 문자(Char) 단위 입출력

2 분 소요

문자(Char) 기반 스트림(Stream) 자바에서 스트림은 기본적으로 바이트 단위로 데이터를 전송한다. 하지만, 자바에서 가장 작은 타입인 Char 형이 2 바이트이므로, 1 바이트씩 전송되는 바이트 기반 스트림으로는 원활한 처리가 힘든 경우가 있다. 따라서, 자바에...

[프로그래머스 자바 중급] 입력과 출력 : Java I/O

최대 1 분 소요

입출력을 위한 인터페이스와 클래스 자바 I/O는 크게 Byte 단위 입출력 클래스와 Char 단위 입출력 클래스로 나뉜다. Byte 단위 입출력 클래스는 InputStream과 OutputStream이라는 추상 클래스를 상속받아 만들어진다. Ch...

[프로그래머스 자바 중급] 날짜와 시간 : java.time 패키지

6 분 소요

java.time 패키지 기존부터 Java에서 제공하는 Date API, Time API는 부족한 기능 지원을 포함한 여러가지 문제점을 가지고 있었다. JDK 코어에서 이런 문제점들을 해결하고, 직관적인 API들을 제공하기 위해 Java SE 8부터 새로운 날짜와 시간 A...

[프로그래머스 자바 중급] 날짜와 시간 : Calendar

3 분 소요

자바에서의 날짜 및 시간 처리 JDK 1.0에서는 Date 클래스를 사용하여 날짜에 관한 간단한 처리를 수행할 수 있었으나, 현재 Date 클래스 대부분의 메소드는 사용을 권장하지 않고(deprecated) 있다. JDK 1.1부터는 새롭게 제공되는 Calendar 클래스...

[프로그래머스 자바 중급] 날짜와 시간 : Date

1 분 소요

Date 클래스 날짜와 시간을 구하기 위한 클래스 java.util 패키지에 속한다. Date 클래스는 JDK 1.0에 만들어졌고, Calendar 클래스는 JDK 1.1에 만들어졌다. 지역화에 대한 부분이 고려되지 않았다. 지역에 따라서 시간,...

[프로그래머스 자바 중급] 컬렉션 프레임워크 : Map

7 분 소요

Map 컬렉션 클래스 Map 인터페이스는 Collection 인터페이스와는 다른 저장 방식을 가진다. Map 인터페이스를 구현한 Map 컬렉션 클래스들은 키와 값을 하나의 쌍으로 저장하는 방식(key-value 방식)을 사용. 여기서 키(key)란 실질...

[프로그래머스 자바 중급] 컬렉션 프레임워크 : List

3 분 소요

List 컬렉션 클래스 List 인터페이스를 구현한 모든 List 컬렉션 클래스는 다음과 같은 특징을 가진다. 요소의 저장 순서가 유지된다. 👉 순서 O 같은 요소의 중복 저장을 허용한다. 👉 중복 O List 컬렉션 클래스에 ...

[프로그래머스 자바 중급] 컬렉션 프레임워크 : Set

5 분 소요

Set 컬렉션 클래스 Set 인터페이스를 구현한 모든 Set 컬렉션 클래스는 다음과 같은 특징을 가진다. 요소의 저장 순서를 유지하지 않는다. 👉 순서 X 같은 요소의 중복 저장을 허용하지 않는다. 👉 중복 X 대표적인 Set ...

[프로그래머스 자바 중급] 제네릭(Generic)

3 분 소요

제네릭(generic)이란? 자바에서 제네릭이란 데이터의 타입을 일반화(generalize)하는 것을 의미. 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시 미리 지정하는 방법.

[프로그래머스 자바 중급] 컬렉션 프레임워크(Collection Framework)

2 분 소요

컬렉션 프레임워크(collection framework)란? 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합. 즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해놓은 것. 인터페이스(inte...

[프로그래머스 자바 중급] java.lang 패키지 : Math 클래스

2 분 소요

Math 클래스 수학에서 자주 사용하는 상수들과 함수들을 미리 구현해놓은 클래스. Math 클래스의 모든 메소드는 클래스 메소드(static method)이므로, 객체를 생성하지 않고도 바로 사용할 수 있다. Math 클래스는 생성자가 private로 ...

[프로그래머스 자바 입문] 예외(Exception)-3

3 분 소요

예외 회피하기(throws) throws는 예외가 발생했을 때, 예외를 호출한 쪽에서 처리하도록 던져준다. 메소드 선언부에 throws 키워드를 사용하여 해당 메소드를 사용할 때 발생할 수 있는 예외를 미리 명시할 수 있다.

[프로그래머스 자바 입문] 예외(Exception)-1

1 분 소요

오류(error)와 예외(exception) 컴퓨터 시스템이 동작하는 도중에 예상하지 못한 사태가 발생하여 실행 중인 프로그램이 영향을 받는 것을 오류와 예외 두 가지로 구분할 수 있다. 오류는 시스템 레벨에서 프로그램에 심각한 문제를 야기하여 실행 중인 프로그램을 종료시...

[프로그래머스 자바 입문] 인터페이스(Interface)

4 분 소요

인터페이스(interface) 서로 관계가 없는 물체들이 상호작용하기 위해 사용하는 장치나 시스템 인터페이스는 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 매개 역할까지 담당하는 일종의 추상 클래스이다. 생성자, 필드, 일반 메소드...

[프로그래머스 자바 입문] 오버라이딩(Overriding)

1 분 소요

메소드 오버라이딩(method overriding) 상속받은 부모 클래스의 메소드를 재정의하여 사용하는 것. 자바에서 자식 클래스는 부모 클래스의 private 멤버를 제외한 모든 메소드를 상속받는다. ex) 상속받은 메소드를 그대로 사용...

[프로그래머스 자바 입문] super와 부모 생성자

1 분 소요

부모 생성자 클래스가 인스턴스화될 때, 생성자가 실행되면서 객체의 초기화를 한다. 이 때, 자신의 생성자만 실행되는 것이 아니고 부모의 생성자부터 실행된다.

[프로그래머스 자바 입문] 추상 클래스(Abstract Class)

1 분 소요

추상 메소드(abstract method) 자식 클래스에서 반드시 오버라이딩(overriding)해야만 사용할 수 있는 메소드. 자바에서 추상 메소드를 선언하여 사용하는 목적은 추상 메소드가 포함된 클래스를 상속받는 자식 클래스가 반드시 추상 메소드를 구현하도록 하기 위함...

[프로그래머스 자바 입문] 메소드 오버로딩(Method Overloading)

최대 1 분 소요

메소드 오버로딩 매개변수의 유형과 개수를 다르게 하여, 같은 이름의 메소드를 여러 개 가질 수 있게 하는 기술 매개변수는 다르지만, 비슷한 기능을 하는 메소드(ex. 매개변수를 더한 뒤 반환)들을 하나의 이름으로 사용할 수 있다. 메소드 오버로딩은 매개변수 부분이 달라...