TIL 240614

인자약·2024년 6월 14일

TIL

목록 보기
9/14

12.3 Object 클래스

우선 hashCode()가 리턴하는 정수값이 같은지를 확인하고, 그 다음 equals() 메소드가 true를 리턴하는지를 확인해서 동등 객체임을 판단한다.

12.5 문자열 클래스

StringBuilder -> thread-not safe 메모리가 가볍다, 수행시간 짧다.
StringBuffer -> thread-safe 메모리 무겁다, 수행시간 길다.
thread 상황이 아니면 StringBuilder / thread 상황이면 StringBuffer

1️⃣ new String("") x 메모리 낭비가 심함, literal로 써야 재사용 가능
2️⃣ String + String -> 합쳐진 String가 생성, 앞에 String들 garbage가 됨

StringBuilder.append() - 문자열을 끝에 추가
StringTokenizer.hasMoreTokens() - 남아 있는 문자열이 있는지 여부
StringTokenizer.nextToken() - 문자열을 하나씩 가져옴

12.6 포장 클래스

박싱 - 기본 타입의 값을 포장 객체로 만드는 과정
언박싱 - 포장 객체에서 기본 타입의 값을 얻어내는 과정

Integer obj = 100; // 박싱
int value = obj; // 언박싱

포장 객체의 효율적 사용을 위해 다음 범위의 값을 갖는 포장 객체는 공유된다. 이 범위의 값을 갖는 포장 객체는 ==와 != 연산자로 비교할 수 있지만, 내부 값을 비교하는 것이 아니라 객체 번지를 비교한다는 것을 알아야 한다.

타입--------------------값의 범위
boolean----------------true, false
char-------------------/u0000~/u007f
byte, short, int------- -128 ~ 127

12.7 수학 클래스

Math.
절대값 abs
올림값 ceil
버림값 floor
최대값 max
최소값 min
랜덤값 random
반올림값 round

12.8 날짜와 시간 클래스

LocalDateTime

13 제네릭

제네릭이란 결정되지 않은 타입을 파라미터로 처리하고 실제 사용할 때 파라미터를 구체적인 타입으로 대체시키는 기능

사용 이유? 제네릭은 여러 종류의 데이터 유형을 지원하기 위해 프로그래밍 언어에서 사용됩니다. 이를 통해 코드를 재사용하고 일반화할 수 있으며, 타입 안전성을 유지할 수 있습니다. 제네릭을 사용하면 코드의 유연성과 확장성이 향상되고, 더 안정적인 소프트웨어를 개발할 수 있습니다.

profile
인자약velog

0개의 댓글