반응형
해당 강의를 듣고 정리한 것입니다
https://programmers.co.kr/learn/courses/9
java.lang
: 자바는 기본적으로 다양한 패키지를 지원하는데 그중에서 중요한 패키지
- import하지 않고도 사용할 수 있음.
- wrapper클래스 : 기본형타입을 객체로 변환시킬 때 사용하는 클래스
Boolean, Byte, Short, Integer, Long, Float, Double 클래스 - 모든 클래스의 최상위 클래스인 Object또한 java.lang패키지
- 문자열과 관련된 String, StringBuffer, StringBuilder 또한 java.lang패키지
- 화면에 값을 출력하던 System클래스 도 java.lang패키지
- Math클래스도 java.lang 패키지
- 쓰레드와 관련된 Thread클래스도 java.lang패키지
- 이외에도 다양한 클래스와 인터페이스가 java.lang패키지에 속해있다.
오토 박싱/오토 언박싱(Auto Boxing/ Auto Unboxing)
: 컴파일러 내부적으로 Wrapper클래스를 사용하여 자동으로 기본형 타입을 참조형 타입으로 변환해주는 것
(오토 언박싱은 참조형 타입 -> 기본형 타입 변환)
public class WrapperExam {
public static void main(String[] args) {
int i = 5;
// 기본형 타입 (객체가 아님)
Integer i2 = new Integer(5);
// Int를 객체로 바꿔주는 Wrapper클래스인 Integer클래스
// 숫자5가 객체(참조형 타입)으로 생성해주는 것
Integer i3 = 5;
//숫자5는 기본형이지만 자동으로 Integer로 형변환 해주는것
//이를 오토박싱이라고 부름(java5 이후부터 생긴 기능)
//다른 기본형 타입또한 마찬가지
int i4 = i3.intValue();
//i3의 값(객체값, 참조형)을 int타입(기본형)으로 변환을 해줘야 int타입으로 사용가능했음
int i5 = i3;
//해당 과정을 자동으로 해주는 것을 오토언박싱이라고 부름
// java5전에는 해당과정을 필수적으로 해주어야 했음.
}
}
- 오토 박싱(Auto Boxing)
: Integer i3 = 5; 숫자 5는 원래 기본형이지만 자동으로 Integer형태로 변환 - 오토 언박싱(Auto Unboxing)
: int i5 = i2; Integer객체 타입의 값을 기본형 int로 자동으로 변환되어 값을 할당 - 오토 박싱(Auto Boxing), 오토 언박싱(Auto Unboxing)은 JAVA5부터 지원.
자동으로 Wrapper클래스들이 사용되는 것.
int와 Integer??
- int형은 클래스(객체)가 아닌 기본형 타입이므로 필드와 메서드를 가질 수없음
따라서 int형으로 만든 것은 Integer의 메서드와 필드를 사용할 수 없음
Integer의 필드와 메서드는 https://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html 해당 api문서에서 확인할 수 있음.
반응형
'Language > Java' 카테고리의 다른 글
자바 중급4 - 스트링 클래스 문제점 (0) | 2022.01.14 |
---|---|
자바 중급3 - 스트링버퍼(StringBuffer) (0) | 2022.01.14 |
자바 중급1 - Object클래스, equals, toString, hashcode (0) | 2022.01.13 |
자바 입문하기20 - 문제풀기)약수의 합 (0) | 2022.01.12 |
자바 입문하기19 - 사용자정의 exception (0) | 2022.01.12 |