패키지란?
자바에서는 이미 여러 가지 기능을 가진 클래스를 전문가들이 만들어 놓고 제공하고 있습니다.
우리는 어떤 목적을 달성하기 위해 이미 만들어진 클래스가 있는가 확인하고 있으면 이것을 사용하고 없으면 직접 만들어야 합니다.
이미 만들어져 있는 클래스를 사용하는 방법은 [import]문에서 경로를 지정해주면 됩니다.
예를 들어서
import sun.util.char;
라는 문장을 해석해보면
sun폴더의 util폴더안에 char클래스를 사용하겠다는 문장입니다.
import sun.util.*;
라는 문장은
sun폴더의 util폴더안에 들어있는 모든 클래스를 사용하겠다는 문장입니다.
import sun.*;
라는 문장은
sun폴더안에 들어있는 util 폴더를 포함한 모든 클래스를 사용하겠다는 문장입니다.
패키지 컴파일 및 실행 방법
혹시 패키지 컴파일 못하실가 올려봅니다.
패키지 컴파일은 쪼오끔 다릅니다.
- 콘솔에서 컴파일 하는 방법 -
C:\test\ggb\Main.java
이렇게 나와 있다면
C:\test\ggb>javac *.java
이렇게하면 아래 3개의 파일이 모두 컴파일이 되지요
- 실행하는 방법 -
C:\test>java ggb.Main
입력하면 잘 실행 됩니다.
레퍼 클래스
레퍼(Wrapper class)는 기본 데이터형을 객체 단위로 처리할 수 있도록 하기 위한 클래스이다.
1. 모든 기본 데이터형을 위한 래퍼 클래스가 정의되어 있다.
2. 래퍼 클래스는 java.lang 패키지에 모두 포함되어 있기 때문에 명시적으로import 하지 않고도 사용 할 수 있다.
3. 모든 래퍼 클래스는 final 제한자로 선언되어 있다.
4. Character를 제외한 모든 래퍼 클래스는 인자로 String을 받는 생성자가 정의되어 있다.
래퍼 클래스의 기본 메소드
???Value()메소드
래퍼 객체의 값을 지정한 기본 데이터형으로변환한다.
Integer i = new Integer(10);
byte b = i.byteValue();
short s = i.shortVlaue();
parse???() 메소드
매개변수 값을 기본 데이터형으로 변환한다.
double d = Double.parseDouble("3.141592");
valueOf() 메소드
valueOf() 매개변수의 값을 해당 데이터에 맞는 래퍼 객체로 변환한다.
Double d = Double.valueOf("3.141592');
to???String()
매개변수의 값을 지정한 진수로 변환합니다.
String a1 = Integer.toBinaryString(10);
String a2 = Integer.toHexString(10);
String a3 = Integer.toOctalString(10);
Integer 클래스
대부분의 래퍼 클래스는 조금 전에 살펴본 주요 메소드를 가지고 있으며 여기에 몇몇 메소드를 추가적으로 가지고 있스빈다. 이 절에서는 모든 래퍼 클래스에 대해서 살펴보는 대신 가장 대표적인 Integer 클래스에 대해서만 살펴보겠습니다. 이 클래스에 대해서만 알아도 다른 클래스에 어떤 메소드가 있을지 유추할 수 있을 것입니다.
java.lang.Integer
Integer(int value)
기본 int형을 나타내기 위해 새로 할당된 Integer 객체를 생성합니다.
Integer(String s)
문자열로 들어온 매개변수의 값을 표현하는 새로운 Integer 객체를 생성합니다.
java.lang.Integer 클래스 메소드
int
compareTo(Integer anotherInteger)
두 개의 Integer 객체의 정수 값을 비교해서 결과를 Int형으로 반환한다.
boolean
equals()
객체를 지정된 객체 obj와 비교해서 결과를 boolean형으로 반환한다.
static int
equals()
문자열 s를 int형으로 변환해서 int형으로 반환한다.
static String
toBinaryString(int i)
매개변수 i에 해당하는 2진수를 String 형으로 반환한다.
static String
toHexString(int i)
매개변수 i에 해당하는 16진수를 String 형으로 반환한다.
static String
toOctalString(int i)
매개변수 i에 해당하는 8진수를 String 형으로 반환한다.
static String
toString(int i)
매개변수 i에 해당하는 10진수를 String 형으로 반환한다.
static String
valueOf(String s)
지정된 String으로 초기화된 새로운 Integer 객체를 반환한다.
박싱(boxing)
박싱은 기본 데이터형을 객체로 변환하는 것을 말한다. 보통 이러한 박싱은 컬렉션에 데이터를 추가할 때 필요하며 Java 5.0에서는 박싱이 자동으로 일어난다.
그래서 Java5.0의 박싱을 우리는 오토박싱이라고 부른다.
Java1.4에서는 컬렉션에서 기본 데이터형을 바로 추가할 수 없다. 그래서 래퍼 클래스로 변환 한 후 추가해야 한다.
JAVA 1.4
ArrayList list = new ArrayList();
list.add(new Integer(1));
list.add(new Integer(2));
JAVA 1.5
ArrayList<Integer) list = new ArrayList<Integer>();
list.add(1);
list.add(2);
Java 5.0에서는 기본 데이터형이 자동으로 래퍼 클래스로 변환되므로 명시적으로 기본 데이터형을 Integer로 감쌀 필요가 없다.
언박싱
어박싱은 래퍼 클래스를 기본 데이터형으로 변환하는 것을 말한다. 이 기능은 컬렉션에 데이터를 추가하고 이를 기본 데이터형으로 받고 싶을 때 유용하게 사용할 수 있다.
Java 1.4에서는 컬렉션의 데이터를 기본 데이터형으로 받기 위해서는 가장 Objec를 Integer로 형변환을 하고 여기서 intValue()와 같이 데이터형을 반환하는 메소드를 호출해야 한다.
JAVA 1.4
ArrayList list = new ArrayList();
list.add(new Integer(1));
list.add(new Integer(2));
int i1 = ((Integer) list.get(0)).intValue();
int i2 = ((Integer) list.get(1)).intValue();
JAVA 1.5
ArrayList<Integer) list = new ArrayList<Integer>();
list.add(1);
list.add(2);
int i1 = list.get(0);
int i2 = list.get(1);
'컴퓨터프로그래밍 > JAVA' 카테고리의 다른 글
JAVA - java.io 패키지 (0) | 2013.10.10 |
---|---|
JAVA - java.lang 패키지2 (0) | 2013.10.09 |
JAVA - 중첩 클래스 (0) | 2013.10.08 |
JAVA 가비지 컬렉션 (2) | 2013.10.06 |
JAVA연산자 (0) | 2013.10.05 |