-
[CS/JAVA] Wrapper Class / Boxing과 UnBoxing / Synchronized / new String()과 리터럴("")의 차이CS/Java 2025. 1. 22. 15:48
• Wrapper Class란 무엇이며, Boxing과 UnBoxing은 무엇인지 설명해주세요.
- 기본 자료형에 대한 객체 표현을 Wrapper Class라고 합니다.
- 기본 자료형 → Wrapper Class로 변환하는 것을 Boxing이라 하며,
- Wrapper Class → 기본 자료형으로 변환하는 것을 UnBoxing이라 합니다.
• Synchronized에 대해 아는 대로 말해주세요.
- 여러개의 쓰레드가 한개의 자원을 사용하고자 할 때, 현재 데이터를 사용하고 있는 쓰레드를 제외하고, 나머지 쓰레드들은 데이터에 접근할 수 없게 막는 개념입니다.
- 데이터의 thread-safe를 하기 위해 자바에서 Synchronized라는 키워드를 제공해 멀티 쓰레드 환경에서 쓰레드 간 동기화를 시켜 데이터의 thread-safe를 보장합니다.
- Synchronized는 변수와 메소드에 사용해서 동기화할 수 있으며, Synchronized 키워드를 남발하게 되면 오히려 프로그램의 성능 저하를 일으킬 수 있습니다.
• new String()과 리터럴(" ")의 차이에 대해 설명해주세요.
- new String()은 new 키워드로 새로운 객체를 생성하기 때문에 Heap 메모리 영역에 저장되고,
- " "는 Heap안에 있는 String Constant Pool 영역에 저장됩니다.
* 위 글은 아래 문서를 참고해 작성했습니다.
https://dev-coco.tistory.com/153
https://dev-coco.tistory.com/9
review 1회독 2회독 3회독 4회독 5회독 check ✅(1/23) 반응형'CS > Java' 카테고리의 다른 글
[CS/JAVA] static / static을 사용하는 이유 / Inner Class / 내부 클래스를 static으로 해야 하는 이유 (0) 2025.01.22 [CS/JAVA] String, StringBuffer, StringBuilder의 차이 / 접근 제한자 / 클래스 멤버 변수 초기화 순서 (0) 2025.01.22 [CS/JAVA] 자바의 메모리 영역 / 클래스와 객체 / 생성자 (0) 2024.11.26 [CS/JAVA] 가비지 컬렉션 / 객체지향 설계의 원칙 (0) 2024.11.26 [CS/JAVA] 추상 클래스 / 인터페이스 / 싱글톤 패턴 (0) 2024.11.24