immutable 2

[Kotlin] 가변 컬렉션과 읽기 전용 컬렉션 구분하기

이펙티브 코틀린 책을 읽고 간단히 정리해본 것입니다. 아이템1. 가변성을 제한하라. - 가변 컬렉션과 읽기 전용 컬렉션 구분하기 중에서 읽기 전용 컬렉션 Iterable, Collection, Set, List 인터페이스 읽고 쓸수 있는 컬렉션 MutableIterable, MutableCollection, MutableSet, MutableList 인터페이스 - 읽기전용 인터페이스를 상속 받아, 변경을 위한 메서드만 추가. Iterable 과 MutableIterable 인터페이스 package kotlin.collections import kotlin.internal.PlatformDependent /** * Classes that inherit from this interface can be rep..

backend/Kotlin 2022.08.02

[Effective Java] 15. 가변성을 최소화하자.

[Effective Java] 15. 가변성을 최소화하자. 불변(immutable) 클래스는 자신의 인스턴스가 갖는 값을 변경할 수 없는 클래스이다. 각 인스턴스가 갖는 모든 정보는 그것이 생성될 때 제공되며 객체로 살아있는동안 변경되지 않는다. 자바의 불변 클래스는 String, 박스화 기본형(boxed primitive) 클래스, BigInteger, BigDecimal 등등이 있다. 불변 클래스는 가변 클래스에 비해 설계와 구현 및 사용이 더 쉽다. 또한 에러 발생이 적으며 보안이나 사용 측변에서 더 안전하다. 불변 클래스 만들때 다섯 가지 규칙 1) 객체의 상태를 변경하는 그 어떤 메소드(변경자라고 하는)도 제공하지 않는다. 2) 상속을 할 수 없도록 하자. 일반적으로는 클래스를 final로 지정..

backend/Java 2009.10.19