[Java] java.time 패키지
java.time 하위패키지 JDK 1.8 이전부터 사용해오던 Date와 Calendar의 단점을 해소하기 위해 1.8부터 java.time 패키지가 추가되었다. 이 패키지는 다음과 같이 4개의 하위 패키지를 가지고 있다. 패키지 설명 ...
java.time 하위패키지 JDK 1.8 이전부터 사용해오던 Date와 Calendar의 단점을 해소하기 위해 1.8부터 java.time 패키지가 추가되었다. 이 패키지는 다음과 같이 4개의 하위 패키지를 가지고 있다. 패키지 설명 ...
평소 개발하면서 숫자 또는 날짜 데이터를 계산할 때 애먹은 경험이 많다. 이럴 때 형식화 클래스를 활용하면 보다 편리하게 처리할 수 있는데, 그 중 대표적인 몇가지를 살펴보도록 하자. DecimalFormat 형식화 클래스 중에서 숫자를 형식화 하는데 사용되는 것이 DecimalFormat이다. DecimalFormat을 이용하면 숫자 데이터를 ...
Date는 날짜와 시간을 다룰 목적으로 JDK1.0부터 제공되어온 클래스이다. JDK1.0.이 제공하는 클래스의 수와 기능은 지금과 비교할 수 없을 정도로 빈약했다. Date클래스 역시 기능이 부족했기 때문에, 서둘러 Calendar라는 새로운 클래스를 그 다음 버전인 JDK1.1부터 제공하기 시작했다. Calendar와 GregorianCalen...
java.lang패키지는 자바프로그래밍에 가장 기본이 되는 클래스들을 포함하고 있다. 그렇기 때문에 java.lang패키지의 클래스들은 import문 없이도 사용할 수 있게 되어 있다. 그 동안 String클래스나 System클래스를 import문 없이 사용할 수 있었던 이유가 바로 java.lang패키지에 속한 클래스들이기 때문이었던 것이다. 우선 ...
프로그램 오류 프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우가 있다. 이러한 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 한다. 이를 발생시점에 따라 ‘컴파일 에러’와 ‘런타임 에러’로 나눌 수 있는데, 글자 그대로 ‘컴파일 에러’는 컴파일 할 때 발생하는 에러이고 프로그램의 실행도중에 발생하는 에러를 ‘...
내부 클래스는 클래스 내에 선언된다는 점을 제외하고는 일반적인 클래스와 다르지 않다. 다만 앞으로 배우게 될 내부 클래스의 몇 가지 특징만 잘 이해하면 실제로 활용하는데 어려움이 없을 것이다. 내부 클래스는 사용빈도가 높지 않으므로 내부 클래스의 기본 원리와 특징을 이해하는 정도까지만 학습해도 충분하다. 실제로는 발생하지 않을 경우까지 이론적으로 만들...
인터페이스란? 인터페이스는 일종의 추상클래스다. 인터페이스는 추상클래스처럼 추상메서드를 갖지만 추상클래스보다 추상화 정도가 높아서 추상클래스와 달리 몸통을 갖춘 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없다. 오직 추상메서드와 상수만을 멤버로 가질 수 있으며, 그 외의 다른 어떠한 요소도 허용치 않는다. 앞서 추상클래스를 ‘미완성 설계도’...
추상클래스란? 클래스를 설계도에 비유한다면, 추상클래스는 미완성 설계도에 비유할 수 있다. 미완성 설계도란, 단어의 뜻 그대로 완성되지 못한 채로 남겨진 설계도를 말한다. 클래스가 미완성이라는 것은 멤버의 개수에 관계된 것이 아니라, 단지 미완성 메서드(추상메서드)를 포함하고 있다는 의미다. 미완성 설계도로 완성된 제품을 만들 수 없듯이 추상클래스...
다형성이란? 상속과 함께 객체지향개념의 중요한 특징 중의 하나인 다형성에 대해서 배워 보도록 하자. 다형성은 상속과 깊은 관계가 있으므로 학습하기에 앞서 상속에 대해 충분히 알고 있어야 한다. 객체지향 개념에서 다형성이란 ‘여러 가지 형태를 가질 수 있는 능력’을 의미하며, 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함...
제어자란? 제어자는 클래스, 변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여한다. 제어자의 종류는 크게 접근 제어자와 그외의 제어자로 나눌 수 있다. 접근제어자 : public, protected, default, private 그 외 : static, final, abstract, native, transi...