Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 영어시간읽기
- 필터링후복사붙여넣기
- 엑셀자동서식
- 요척합의
- 클린코드
- TACKING
- 웹API
- Armhole Drop
- 엑셀드래그단축키
- 40HQ컨테이너
- 와끼
- AATCC
- 엑셀필터복사붙여넣기
- 비슬론지퍼
- 미국영어연음
- 자켓실측
- WHATTIMEOFTHEDAY
- 미니마카
- 우레탄지퍼
- 핸드캐리쿠리어차이점
- 40HQ컨테이너40GP컨테이너차이
- 헤이큐
- 봉제용어
- 비리짐
- 암홀트롭
- 고급영어단어
- MERN스택
- 지연환가료
- 나일론지퍼
- 슈퍼코딩
Archives
- Today
- Total
CASSIE'S BLOG
[슈퍼코딩] 45-1강 자바 제너릭과 Wrapper 본문
반응형
Wrapper 클래스가 무엇이며 언제 사용하나
?
이전 꺼 복습하면,
New 키워드를 써서 인스턴스 만들면 힙 메모리에 저장된다.
String st1 = ‘st1’;
이런 식으로 할당하면 Constance Pool 에 저장 된다.
스트링을 몇개 붙여서 문장을 만드는 경우에 StringBuilder를 쓰는게 맞다함. 메모리 낭비가 너무 심하다고 함
new String (“Cat is so cute and”);
new String (“Cat is so cute”);
목표: Java의 Wrapper클래스를 살펴보고 Java Generic을 이해한다.
코드재사용성, 디자인패턴, 컬렉션 -> Generics in Java
기본 타입은 객체가 아니지만 Wrapper Class는 객체이다.
박싱과 언박싱을 알아야하는데요.
기본타입과 래퍼 클래스 1:1이 매핑 되는 거니까 그건 박싱
Integer num = new Integer(17); //박싱
int n = num.intValue();//언박싱
Integer 타입이여도 계산 다 된다.
Integer result1 = num1 + num2; //10 인데 이거 또 바로 Integer 가 됨
Wrapper는 요즘 Auto 언박싱이 실행이 되면서 이전보다는 사용하기가 쉬워짐.
요즘에는 박싱을 안하는 추세라고 함.
package exercise.chapter_45;
public class WrapperClassTest {
public static void main(String[] args){
// Integer
Integer integer1 = new Integer(20); // int -> Integer boxing
Integer integer2 = null;
int int1 = integer1.intValue(); // Unboxing , Integer -> int 바꾼 것
Integer integer3 = 20; // AutoBoxing, new Integer(20); 이게 그냥 자동으로 동작한다함
int int2 = integer3; // AutoUnboxing,
// System.out.println(integer1);
// System.out.println(int1);
// System.out.println(integer3);
// System.out.println(int2);
// 연산자
// System.out.println(integer1 + integer2);
// System.out.println(integer1 + int1);
//
// Character
Character character = new Character('X'); // 'X' charType -> Character 박싱
char ch1 = character.charValue(); // Character -> char 언박싱
Character character1 = 'x';
char ch2 = character1;
System.out.println(character);
System.out.println(ch1);
Character[] characters = {'a', 'b', 'c'};
char[] chars = {'a', 'b', 'c'};
String str = String.valueOf(characters);
String str2 = String.valueOf(chars);
System.out.println(str);
System.out.println(str2);
// Boolean Type
Boolean boolean1 = new Boolean(true); // true boolean -> Boolean
boolean b1 = boolean1.booleanValue(); // Unboxing
Boolean boolean2 = false;
boolean b2 = boolean2;
System.out.println(boolean1 & boolean2);
System.out.println(boolean1 | boolean2);
}
}
반응형
'PROGRAMMING > 슈퍼코딩 강의 정리' 카테고리의 다른 글
[슈퍼코딩] 46강 컬렉션 List 만들기 (부제: 데이터구조 기본원리) (0) | 2023.12.15 |
---|---|
[슈퍼코딩] 45-2강 자바 제너릭과 Wrapper (0) | 2023.12.15 |
[슈퍼코딩] 44-1강 여러 기본 클래스 (0) | 2023.12.14 |
[슈퍼코딩] 43강 어머니 클래스 Object (0) | 2023.12.14 |
[슈퍼코딩] JVM 메모리 런타임 (0) | 2023.12.14 |