본문 바로가기
SMALL

java26

11-2 java.util 패키지 java.util 패키지는 개발에서 자주 사용되는 자료구조이며 날짜 정보를 제공해주는 유용한 API를 포함하고 있다. 이번 포스팅은 이 API에 대해서 알아보자. 대표적으로 Date 클래스와 Calendar 클래스가 있다. Date 클래스 : 특정 시점의 날짜를 표현하는 클래스, Date 객체 안에는 특정 시점의 연도, 월, 일, 시간 정보가 저장됨 Calendar 클래스 : 달력을 표현한 클래스, 해당 운영체제의 연도, 월, 일, 요일, 오전/오후, 시간 등의 정보가 저장됨 Date 클래스는 날짜를 표현하는 클래스로 객체 간에 날짜 정보를 주고받을 대 매개 변수나 리턴 타입으로 주로 사용된다. 현재 시각의 Date 객체는 다음과 같이 생성할 수 있다. Date now = new .. 2022. 3. 3.
10-2 예외 처리 자바 컴파일러는 예외가 발생할 가능성이 있는 코드를 발견하면 컴파일 에러를 발생시켜 개발자가 강제적으로 예외 처리 코드를 작성하도록 한다. 그러나 실행 예외는 컴파일러가 체크하지 않기 때문에 개발자가 직접 예외 처리 코드를 작성해야 한다. try-catch-finally 블록은 생성자 내부와 메소드 내부에서 작성하여 예외가 발생할 경우 예외 처리를 할 수 있도록 한다. try-catch-finally 블록 작성은 다음과 같다. 각 블록 별 특징은 다음과 같다. try 블록(1) : 예외 발생 가능 코드 위치 catch 블록(2) : 예외 처리 코드 위치. 예외 발생 없이 정상 실행되면 실행되지 않음. 반대로 try 블록의 코드에서 예외가 발생하면 발생 즉시 실행을 멈추고 catch 블록으로 이동하여 예외.. 2021. 12. 27.
10-1 예외 클래스 컴퓨터 하드웨어의 오동작 또는 고장으로 인해 발생하는 것을 에러(error)라고 하며, 이러한 에러 이외에 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류를 예외(exception)라고 말한다. 예외가 발생하면 프로그램은 곧바로 종료된다는 점에서 에러와 비슷하지만, 예외 처리(exception handling)를 통해 프로그램을 종료하지 않고 정상 실행 상태가 유지되도록 할 수 있다. 자바는 예외가 발생할 가능성이 높은 코드를 컴파일할 때 예외 처리 유무를 확인하며, 예외 처리 코드가 없다면 컴파일이 되지 않는다. 하지만 모든 예외에 대해 확인하지는 않기 때문에 예외의 종류부터 알아보자. 예외는 두 가지 종류가 있다. 일반 예외(exception) 컴파일러 체크 예외 프로.. 2021. 12. 27.
09-1 중첩 클래스와 중첩 인터페이스 소개 객체 지향 프로그래밍에서 클래스들은 서로 긴밀한 관계를 가지며 상호작용을 한다. 어떤 클래스는 여러 클래스들과 관계를 갖기도 하고, 어떤 클래스는 특정 클래스만 관계를 갖기도 한다. 첫번째의 경우에는 독립적으로 선언하는 것이 좋으나, 두번째의 경우는 클래스 내부에 선언하는 것이 좋다. 이번 포스팅은 두번째의 경우 클래스 내부에 선언하는 중첩 클래스와 중첩 인터페이스에 대한 내용이다. 먼저, 중첩 클래스(nested class)란 클래스 내부에 선언한 클래스를 말한다. 중첩 클래스를 사용하면 두 클래스의 멤버들을 서로 쉽게 접근이 가능하며, 외부에는 클래스 관계를 감춤으로써 코드의 복잡성을 줄일 수 있다. 중첩 클래스의 코드 형태는 다음과 같다. //클래스 class ClassName{ //중첩 클래스 c.. 2021. 6. 29.
08-2 타입 변환과 다형성 인터페이스 다형성이란? 프로그램 소스 코드는 변함이 없는데, 구현 객체를 교체함으로써 프로그램의 실행 결과가 다양해지는 것 구현 객체가 인터페이스 타입으로 변환되는 것으로 프로그램 실행 도중에 자동적으로 타입 변환이 일어나는 것을 말함 인터페이스 구현 클래스를 상속해서 자식 클래스를 만들었다면 자식 객체 역시 인터페이스 타입으로 자동 타입 변환이 가능하다. 때문에 자동 타입 변환을 이용하면 필드의 다형성과 매개 변수의 다형성 구현이 가능하다. 필드와 매개 변수의 타입을 인터페이스로 선언하면 다양한 구현 객체를 대입해서 실행결과를 다양하게 만들 수 있다. 필드의 다형성은 7장의 상속에서 다형성과 유사하다. 상속과 다른 점은 타이어가 클래스 타입이 아닌 인터페이스 타입이라는 점과 타이어는 자식클래스가 아니라.. 2021. 6. 28.
08-1 인터페이스 자바에서의 인터페이스(interface) = 객체의 사용방법을 정의한 타입(개발 코드와 객체가 서로 통신하는 접점 역할) → 인터페이스를 통해 다양한 객체를 동일한 사용 방법으로 이용할 수 있음 그렇다면 왜 개발 코드가 직접 객체의 메소드를 호출하지 않고 중간에 인터페이스를 두는 걸까? → 개발 코드를 수정하지않고 사용하는 객체를 변경할 수 있도록 하기 위해서! 따라서, 개발 코드 측면에서는 코드 변경없이 실행 내용과 리턴 값을 다양화할 수 있다는 장점을 가진다. 인터페이스는 '~.java' 형태의 소스 파일로 작성되고 컴파일러를 통해 '~.class' 형태로 컴파일되기 때문에 물리적 형태는 클래스와 동일하다. 그러나 소스를 작성할 때 선언하는 방법이 class 대신에 interface를 사용한다는 것이.. 2021. 5. 18.
LIST