Java - DAY 15

NewTypeAsuka·2023년 2월 23일
0

Java@

목록 보기
16/22

오늘은 금요일이다!

게다가 청주에서 부모님이 올라오시는 날이니 깔끔하게 끝내고 가족끼리 오붓하게 지내야겠다.

오늘 저녁은 괜찮은 레스토랑을 예약해야겠다.

어디로 가야하지..

1. Java 기본 API

오라클 공식 Java API 문서

Object 관련 클래스

  • Object.equals():
    현재 객체와 다른 객체가 동등한지 비교하는 클래스
  • Object.hashCode():
    객체의 해시코드를 출력하는 클래스
  • 해시(hash):
    입력받은 문자열, 숫자를 특정한 문자열, 숫자로 반환
  • 해시코드(hashCode)
    • 객체의 필드 값을 이용해서 일정한 길이의 숫자를 만드는 함수
    • 주소가 "서울시 영등포구 의사당대로 1"이라면 해시코드는 "국회의사당"과 같은 개념
    • 프로그램이 해시코드를 이용하기 때문에 객체의 검색 속도가 대폭 증가한다.

2. 문자열(String)

String 객체 생성 원리

  • String은 불변성이 있어서 String 값을 변경할 경우 기존 객체가 변경되는 것이 아니라
    새로운 객체를 생성해서 참조하게 됨
  • s1 방법으로 만들면 기존의 객체 생성 원리와 같은 원리로 메모리 할당
  • s2 방법으로 만들면 Constant Pool 안의 String Pool에 객체가 생성됨
  • 이때 Constant Pool 안의 값은 바꿀 수 없기 때문에
    기존 객체를 변경하지 않고 새로운 객체를 만드는 것
  • garbage collector는 Constant Pool의 참조가 끊어지면 그때서야 지울 수 있게 됨
String s1 = new String("abc"); // 정석
String s2 = "abc"; // String만의 별도의 리터럴 표기법 부여


String 관련 메서드

  • split: 각 입력값 사이에 구분자를 추가하여 배열로 만듦
String[] names = input.split("/");
  • join: 배열의 요소를 하나의 문자열로 반환
String.join("/", String[]);

0개의 댓글

관련 채용 정보