Java 3

java.lang.UnsupportedOperationException

서론 java.lang.UnsupportedOperationException은 특정 연산이나 기능이 현재의 상황에서 지원되지 않을 때 발생하는 예외입니다. 이 예외는 주로 불변 객체나 수정이 불가능한 상태의 컬렉션에서 발생하며, 이에 대한 적절한 처리가 필요합니다. 이 예외가 발생하는 두 가지 예제를 통해 어떻게 해결할 수 있는지에 대해 설명하겠습니다. Arrays.asList()로 생성된 고정 크기 리스트에 원소 추가 Collections.singletonList()로 생성된 리스트에 원소 추가 결론 이처럼 불변 컬렉션으로 선언된 객체에 대해서 가변 하게 사용하면, java.lang.UnsupportedOperationException가 발생할 수 있습니다. 아래 코드는 올바른 예제입니다. 이상입니다...

Java 2023.12.28

Immutable object, 불변객체

불변 객체란? 불변 객체란 재할당은 가능하지만, 이미 할당된 내부 데이터를 변경시킬 수 없는 것을 말합니다. 쉽게 말해서, 한 번 만들면 수정이 불가하고 수정하고 싶다면 다시 만들어야 합니다. 불변 객체의 예시 Java의 불변 객체의 대표적인 예로는 String이 있습니다. String.class를 둘러보면, 원시 타입의 필드 값인 value는 전부 생성자를 통해서 관리하고, 나머지 메서드는 Read Only만 가능합니다. 이 말이 뜻하는 것은 String은 한 번 할당하면 내부 데이터를 변경할 수 없고, 변경하고 싶다면 생성자를 통해서 재할당해야 한다는 것입니다. 즉, 불변 객체라는 말입니다. 평소에 String 값을 바꿀 때 변경하는 것처럼 보이지만, 사실은 아래처럼 변경하는 것이 아니라 재할당 해주..

Java 2022.04.17