본문 바로가기

Final2

『Java』 객체의 불변성(Immutability)이란 무엇인가? 객체의 불변성(Immutability)이란?객체가 불변(immutable)하다는 것은 생성 후 객체의 상태가 변경되지 않는다는 뜻이다. 즉, 객체를 처음 만들었을 때의 상태를 끝까지 유지한다는 말이다.  불변성의 중요성불변 객체는 여러 장점이 있다. 가장 큰 장점은 동기화 문제를 피할 수 있다는 것이다.  객체 상태가 바뀌지 않으므로 여러 스레드에서 동시에 접근해도 Thread-safe 하다. 또한, Side Effect가 없어 설계가 용이하며 캐싱에도 유리하다.  Java에서 불변 객체를 만드는 방법setter 메서드 제공 ❌ 객체의 상태값을 변경하는 setter 메서드를 아예 만들지 않는 방법이다. 상태 값을 변경할 필요가 없는 클래스에 setter 메서드를 추가하는 건 불필요하다. final cla.. 2024. 10. 30.
『Java』 final에 대한 이해 finalfinal 키워드는 변수, 메서드, 또는 클래스에 대한 변경 불가능 하도록 하는 데 사용된다.final 키워드를 사용하면 그 요소는 한 번 할당되거나 정의된 후 변경될 수 없다.   변수에 final 사용지역 변수final로 선언된 지역 변수는 한 번만 값을 할당할 수 있다. 초기화 이후에는 그 값이 변경될 수 없다.  필드 (멤버 변수) 객체의 필드에 final을 사용하면 객체가 생성될 때 필드를 초기화해야 하며, 그 이후에는 그 필드의 값을 변경할 수 없다.  파라미터 메서드의 파라미터를 final로 선언하면, 메서드 안에서 파라미터의 값을 변경할 수 없다. 이는 메서드 안에서 파라미터가 참조하는 데이터의 무결성을 유지한다.  메서드에 final 사용 final로 선언된 메서드는 하위 클래.. 2024. 10. 24.