*Wrapper class 계열*
기본형 데이터 타입을 참조형으로 변경하고자 할 때 사용
ex) int -> Integer , boolean -> Boolean ......
jdk1.4 이하에서 반드시 사용해야 한다.
//1.4 이하에서는 컴파일 에러, 이유는 Object 는 참조형 데이터 타입이고
// 1 은 기본형 데이터 타입이므로..
Object o=1;//1.5 이상에서는 자동으로 Wrapper 객체로 변환
System.out.println(o.getClass());// Integer 객체
// 1.4 이하에서 코딩한다면
Object o1=new Integer(1); // int 에 대응되는 Integer 객체로 생성
int i=((Integer)o1).intValue();// Integer로 캐스팅하여 intValue() 로 int 타입을 리턴
System.out.println(i);
*Nested(중첩) class*
Inner class 로도 표현된다. 즉 클래스 안에 클래스가 선언되는 형태
Inner class 는 Outer 의 private 멤버에 직접 접근이 가능하다.
Inner class의 객체를 생성하기 위해서는 Outer class의 객체 생성을 전제로 한다.
class Outer{
// private 은 다른 클래스에서 접근할 수 없다. (단 Inner class는 제외)
private String pass="java";
//Inner class
class Inner{
public void inTest(){
// Outer class의 private member 에 접근 가능
System.out.println(pass);
pass=pass.concat("king");
}
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
}
public class TestNested {
public static void main(String[] args) {
Outer out=new Outer();
//Inner class의 객체를 생성하기 위해서는 Outer class의 객체 필요하다
Outer.Inner in=out.new Inner();
in.inTest();
System.out.println(out.getPass());
}
}
'Code Archive > JAVA' 카테고리의 다른 글
| Step12. Stream, 파일 입출력 (0) | 2014.09.12 |
|---|---|
| Step11. Exception(예외처리) (0) | 2014.09.12 |
| Step9. Set, List, Map, Generic, Iterator, 로또 출력 프로그램 (0) | 2014.09.12 |
| Step8. Polymorphism(다형성) interface 계층구조를 이용하여 구현 (0) | 2014.09.12 |
| Step7. Polymorphism(다형성) 클래스 계층구조를 이용하여 구현 (0) | 2014.09.12 |