Java: 248개의 글
Enumeration 인터페이스 정리 Enumeration 인터페이스는 객체들의 집합(Vector)에서 각각의 객체들을 한순간에 하나씩 처리할 수 있는 메소드를 제공하는 켈렉션이다. [JAVA/Java] - [JAVA] Vector 클래스 정리 인터페이스이므로, 직접 new 연산자를 이용하여 객체를 생성할 수 없으며, Enumeration 인터페이스에 선언된 메소드는 그 인터페이스를 사용하는 클래스로 구현해서 사용해야만 한다. * Enumeration 인터페이스 메소드 Enumeration 메소드 설명 boolean hasMoreElements() Vector로 부터 생성된 Enumeration의 요소가 있으면 true, 아니면 false 반환Object nextElement() Enumeration 내..
Vector 클래스 정리 자바의 배열은 고정 길이를 사용한다. 즉, 배열이 한 번 생성되면 배열의 길이를 증가하거나 감소할 수 없다. [JAVA/Java] - [JAVA] Array 배열, 이중 배열, 다중 배열 사용자가 배열을 사용할 때 배열의 크기를 벗어나는 인덱스에 접근하면 java.lang.ArrayIndexOutOfBoundsException이 발생한다. 그러므로 배열을 사용할 때는 충분한 크기로 설정해야 한다. 그러나 사용할 배열의 크기를 미리 예측하는 것은 쉬운 일이 아니다. 자바에서는 동적인 길이로 여러 데이터형을 저장하기 위해 Vector 클래스를 제공한다.Vector 클래스는 가변 길이의 배열이라고 할 수 있다. 즉, Vector 클래스는 객체에 대한 참조값을 저장하는 배열이므로 다양한..
Calendar 클래스 (달력 출력) Calendar 클래스도 Date 클래스처럼 날짜와 시간에 관한 정보를 표현할 때 사용한다. Date 클래스에서 deprecate된 메소드나 생성자들 중 같은 기능의 메소드가 Calendar 클래스에서 제공된다. Calendar 클래스는 추상 클래스이므로 객체를 직접 생성할 수는 없지만, getInstance() 메소드를 이용하여 시스템의 날짜와 시간 정보를 표현할 수 있다. * Calendar 클래스의 주요 상수 상수사용방법설명 static int YEARCalendar.YEAR 현재 년도를 가져온다.static int MONTH Calendar.MONTH 현재 월을 가져온다. (1월은 0) static int DATE Calendar.DATE 현재 월의 날짜를 가..
Date 클래스 Date 클래스는 날짜와 시간에 관한 정보를 표현한다. Date 클래스는 JDK가 버전업 되면서 많은 메소드가 deprecate 되었다. 따라서 Date 클래스는 구버전으로 날짜 관련 정보는 Calendar 클래스를 사용하도록 하자. [JAVA] Calendar 클래스 (달력 출력) * Date 클래스의 생성자 Date 클래스의 생성자 설명 Date() 현재의 날짜와 시간을 저장한 객체를 생성한다. Date(long msec) 1970년 1월 1일 0시 0분 0초부터 msec를 1/1000초 단위로 하여 경과한 날짜와 시간을 저장한 객체를 생성한다. * Date 클래스의 주요 메소드 Date 클래스의 메소드 설명 boolean after(Date when) when의 날짜가 현재 날짜 이..
예외 처리 Exception try-catch-finally, throws, 사용자 정의 예외 자바는 프로그램 실행중에 발생할 수 있는 예외 처리문을 제공한다.자바의 예외 처리는 예외가 발생한 메서드 내에서 직접 처리하는 방법과 예외가 발생한 메소드를 호출한 곳으로 예외 객체를 넘겨주는 방법, 그리고 사용자 정의 예외를 생성하여 처리하는 방법이 있다. 1. 예외(Exception)이 발생한 메소드 내에서 직접 처리 (try-catch-finally) try{ 예외 발생 가능성이 있는 문장들; }catch(예외 타입1 매개변수명){ 예외타입1의 예외가 발생할 경우 처리 문장들; }catch(예외 타입 n 매개변수명){ 예외타입 n의 예외가 발생할 경우 처리 문장들; }finally{ 항상 수행할 필요가 있..
객체의 형 변환 Java 기본 유형의 데이터들처럼 객체 참조변수의 경우에도 형 변환(casting)이 이루어진다. 서로 다른 클래스 유형으로부터 나온 객체 참조변수들 간의 대입에는 일정한 규칙이 있다. [JAVA/Java] - [JAVA] 기본 데이터 타입과 변환 1. 객체 형 변환의 개요 Parent parent = new Child(); 위의 대입연산에서 왼쪽 항(Parent)과 오른쪽 항(Child)의 객체 유형이 서로 다른 경우, 두 유형이 서로 상속 관계에 있고 왼쪽 객체(Parent)가 오른쪽 객체(Child)의 상위 클래스인 경우에만 내부적인 형 변환이 일어난다. 즉, 하위 클래스에서 상위클래스 유형으로 할당하는 것은 가능하나 그 반대의 경우에는 강제 형 변환을 해야 한다. 그러나 상위 클래..
StringBuffer 클래스 정리 StringBuffer 클래스는 자바 프로그램 내에서 변하는 문자열을 다룰 때 사용한다. StringBuffer 클래스의 객체는 크기가 동적인데, 객체 생성시 크기를 지정하지 않아도 기본적으로 16개의 문자를 저장할 수 있는 버퍼 공간을 가진다. String 클래스의 객체는 한 번 생성되면 그 내용이 변하지 않는 반면에, StringBuffer 클래스의 객체는 한 번 생성된 후에도 계속하여 저장하고 있는 문자열의 내용을 변경할 수 있다. 그러므로, StringBuffer 클래스의 메소드는 문자열 처리 후의 결과를 원래의 StringBuffer 객체에 반영하고, 메소드 리턴 타입은 void 이다. * StringBuffer 클래스 생성자 StringBuffer 클래스 생..
Object 클래스 정리 1. Java.lang 패키지 java.lang은 자바 프로그램에서 가장 많이 사용되는 패키지로서 자바 프로그램내에 'import' 문을 사용하지 않아도 자동으로 포함된다. 그만큼 자바 프로그램의 기본이 되는 클래스들과 인터페이스들이 포함되어 있다. 다음은 java.lang 패키지의 클래스 구조도이다. 물론 java.lang 패키지에는 더 많은 클래스들이 있다. 더 많은 클래스는 여기서 확인하자. JAVA API DOC : Java.lang Object 클래스는 java.lang 패키지 내의 최상위 클래스이며, String 클래스는 변하지 않는 문자열을 다룰 때, StringBuffer 클래스는 내용이 계속 변하는 문자열을 다룰 때 사용될 수 있다. 2. Object 클래스 ja..
접근제어자 public, protected, private 변수나 메쏘드를 선언할 때 접근을 제어할 수 있는 modifier를 설정할 수 있다. 이러한 접근 관련 modifier를 통해서 객체지향 언어의 중요 특성 중 하나인 캡슐화(encapsulation)과 정보 숨김(information hiding)을 구현할 수 있다. * 접근 제어자 구분modifier 설명 접근 권한 public 모든 클래스에서 접근이 가능함을 의미한다.protected 동일 패키지에 속하는 클래스와 하위 클래스 관계의 클래스에 의해 접근이 가능하다. private 클래스 내에서만 접근이 가능하다 * 접근 권한 종류클래스 하위 클래스 동일 패키지 모든 클래스 private O X X X (default) O X O X prote..
열거타입 enum Java에서 열거 타입 enum을 정의할 수 있으며, 변수를 선언할 때 변수 타입으로 사용할 수 있다.enum은 그 타입 변수의 모든 가능한 값을 열거함으로써 지정할 수 있다. enum Season {winter, spring, summer, fall} enum에서 나열할 수 있는 값들의 수는 제한이 없다. Season time; 변수 time 은 가질 수 있는 값이 제한되어 Season의 4개 값 중 하나만 가질 수 있다. 그 외의 값을 가지게 되면 컴파일 오류가 발생한다. time = Season.spring; enum은 변수가 가질 수 있는 값의 수가 적을 때 꽤 도움이 된다. 예를 들어 학생이 받을 수 있는 학점을 나타낸다고 가정하면 다음과 같이 enum을 선언할 수 있다. en..