2024/05/18 2

자바의 제네릭

제네릭을 사용하는 이유와 자바에서 제네릭 타입의 컴파일 타임 동작원리에 대하여 설명해주세요.제네릭을 사용하는 이유타입 안전성 보장:제네릭을 사용하면 컴파일 시점에서 타입을 체크할 수 있습니다. 이를 통해 런타임 에러를 줄이고, 잘못된 타입이 사용되는 것을 방지할 수 있습니다.List list = new ArrayList();list.add("Hello");String s = list.get(0); // 타입 캐스팅이 필요 없음코드 재사용성 향상:제네릭을 사용하면 다양한 타입에 대해 동일한 코드를 재사용할 수 있습니다. 이를 통해 코드 중복을 줄이고 유지보수를 쉽게 할 수 있습니다.public class Box { private T content; public void setContent(T c..

[프래피티] 2024.05.18

StringBuilder와 StringBuffer

StringBuffer가 왜 동기화 되어 있는지, 그리고 멀티쓰레드 환경에서 왜 안전한지 설명해주세요.StringBuffer와 StringBuilder는 자바에서 가변성(mutable)을 가지는 문자열을 다룰 때 사용하는 클래스입니다. 이 둘의 가장 큰 차이점은 동기화(synchronization) 여부입니다. 이에 대한 자세한 설명과 왜 이러한 차이가 중요한지에 대해 설명해 드리겠습니다.1. StringBuffer와 StringBuilder의 차이점StringBuffer:동기화: StringBuffer는 모든 public 메소드가 synchronized 키워드로 선언되어 있습니다. 이는 여러 스레드가 동시에 StringBuffer 객체에 접근하더라도 데이터의 일관성을 유지할 수 있도록 합니다. 따라서 ..

[프래피티] 2024.05.18