오토박싱 과 오토 언박싱
오토박싱은 일반값을 그에 맞게 타입을 바꾼다
오토언박싱은 객체값을 다시 일반타입값으로 돌려놓는다
저장소를 만들고 값을 저장한 후 다시 받아보는 코드 (오토박싱,언박싱 하기전)
// 문제 : 저장소를 만들고 i의 값을 저장한 후 다시 받아보세요.
class Main {
public static void main(String[] args) {
저장소 a저장소 = new 저장소(); // 저장소를 만들었음
a저장소.저장("안녕");//저장소에 "안녕"이라는 값을 저장함 . 박싱과 언박싱을 해야하는데 .
String s = (String)a저장소.주세요(); //값을 받는과정에서 String으로 강제로 형변환을 한다.
System.out.println(s); // 출력
a저장소.저장(11);
int i = (int)a저장소.주세요();
System.out.println(i);
원숭이 a원숭이 = new 원숭이();
a저장소.저장(a원숭이);
원숭이 b원숭이 = (원숭이)a저장소.주세요();
b원숭이.나무타기();
}
}
class 저장소 {
Object data;
void 저장(Object o) {
this.data = o;
}
Object 주세요() {
return this.data;
}
}
class 원숭이 {
void 나무타기() {
System.out.println("원숭이가 나무를 탑니다.");
}
}
저장소를 만들고 값을 저장한 후 다시 받아보는 코드 (오토박싱,언박싱 한 후)
// 문제 : 저장소를 만들고 i의 값을 저장한 후 다시 받아보세요.
class Main {
public static void main(String[] args) {
// 구현 시작
저장소 a저장소 = new 저장소();
a저장소.저장("안녕");
String s = (String)a저장소.주세요();
System.out.println(s);
// 출력 : 안녕
a저장소.저장(11);
int i = (int)a저장소.주세요();
System.out.println(i);
//출력 : 11
원숭이 a원숭이 = new 원숭이();
a저장소.저장(a원숭이);
원숭이 b원숭이 = (원숭이)a저장소.주세요();
b원숭이.나무타기();
// 출력 : 원숭이가 나무를 탑니다.
}
}
class 저장소 {
Object data;
void 저장(Object o) {
this.data = o;
}
Object 주세요() {
return this.data;
}
}
class 원숭이 {
void 나무타기() {
System.out.println("원숭이가 나무를 탑니다.");
}
}
2020-03-07 [Day-21] 자바 ( 메서드, ArrayList) (0) | 2020.03.07 |
---|---|
2020-03-06 [Day-20] 자바 ( ArrayList) (0) | 2020.03.06 |
2020-03-04 [Day-19] 자바 (배열, ArrayList, 래퍼클래스 ) 웹(HTML, CSS , JS) (0) | 2020.03.04 |
2020-03-01 [Day-18] HTML, CSS, JS(이브자리 메인페이지 모작) (0) | 2020.03.01 |
2020-02-29 [Day-17] HTML, CSS, JS(이브자리 메뉴 모작) (0) | 2020.02.29 |