TIL 작성하면서 조금씩 레이아웃을 변경해보려고 한다.
어떤게 내가 알아보기 쉽고, 한 눈에 알아볼 수 있는지 잘 모르겠다.
공부한 내용과 TIL 회고는 따로 나누고 싶었는데 여러가지 방법을 시도해보려고 한다.
참조형 변수
: 단일공간에 담을 수 없는 복잡한 변수 (길이 예측 불가)
: 래퍼런스가 있어서 어느 공간에 있는 주소값을 바라보고 있는 변수
처음 복습할 때 남겨놓은 이론 정리글이 있으니 참고하면 좋다. 그리고 대학교 수업들으면서 남겨놓았던 교수님의 강의 정리글도 있으니 자세하게 알고 싶다면 참고바란다. (예습 1회, 복습 2회 중이었구나)
래퍼클래스(Wrapper Class) 변수
: 기본형 변수를 클래스로 한 번 랩핑하는 변수
기본 타입 래퍼 클래스 byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean
박싱과 언박싱
박싱 : 기본타입에서 래퍼 클래스 변수로 변수를 감싸는 것
언박싱 : 래퍼 클래스 변수를 기본 타입 변수로 가져오는 것
// 💡 박싱
// Integer 래퍼 클래스 num에 21의 값을 저장
int number = 21;
Integer num = num Integer(number);
// 💡 언박싱
int n = num.intValue(); // 래퍼 클래스들은 inValue() 같은 언박싱 메서드를 제공해줌
기본 개념 알아두기
1byte = 8bit
bit : 0과 1을 표현하는 최소 단위
나만의 정리!
- 래퍼클래스가 Null을 처리할 수 있기에 범용성이 좋고 유용하다. 하지만 매개변수를 사용할 때에는 래퍼클래스보다 기본타입을 이용하는게 좋다고 한다.
- 래퍼클래스를 사용하면 데이터타입을 객체로 감싸주어 데이터를 관리할 수 있기에 Null을 데이터 값으로 받을 수 있다.
= 래퍼클래스는 어쩔 수 없이 Null을 다루어야할 때만 사용하는 게 좋다.
// (1)boolean / 변수 선언 => 타입 이름 = 값;
boolean flag = true;
flag = false; // 재할당
System.out.println(flag);
// 결과 : false
public class JavaChar {
public static void main(String[] args) {
// (2) 문자형(char)
char alphabet = 'A';
System.out.println(alphabet);
}
}
public class JavaNumber {
public static void main(String[] args) {
// (3) 정수형 (byte, short, int, long)
byte byteNumber = 127; // -128 ~ 127
short shortNumber = 32767; // 32,768 ~ 32,767
int intNumber = 2147483647;
long longNumber = 9223372036854775807L;
System.out.println(byteNumber);
System.out.println(shortNumber);
System.out.println(intNumber);
System.out.println(longNumber);
}
}
public class JavaFloat {
public static void main(String[] args) {
// (4) 실수형 (float, double)
// float(4byte), double(8byte)
float floatNumber = 0.123F; // 접미사 F 주의!
double doubleNumber = 0.123F; // 접미사 F 주의!
System.out.println(floatNumber);
System.out.println(doubleNumber);
}
}
import java.lang.reflect.Array;
import java.util.Arrays;
public class JavaString {
public static void main(String[] args) {
// (5) 참조형 (주소값을 출력함)
// (5)-1 문자열 변수
// String helloWorld = "Hello World";
// System.out.println(helloWorld);
// (5)-2 배열
int[] a = {1, 2, 3}; // a는 1, 2, 3을 가진 배열
System.out.println(a); // a가 가지는 주소값 출력
System.out.println(Arrays.toString(a));
}
}
public class JavaWrapper {
public static void main(String[] args) {
// (6) 래퍼 클래스 (Wrapper Class 변수)
int number = 21;
// Integer num = new Integer(number) // 옛날 방식의 박싱
Integer num = number; // 요즘 방식의 박싱
System.out.println(num.intValue()); // 언박싱
}
}