CS
플라이웨이트(Flyweight) 패턴
Hinos
2021. 4. 12. 02:30
반응형
플라이 웨이트 패턴은 인스턴스가 필요할 때마다 매번 생성하는 것이 아니고 가능한 한 공유해서 사용함으로써 메모리를 절약하는 패턴이다.
다수의 유사 객체를 생성하거나 조작할 때 유용하게 사용할 수 있다.
Java와 코틀린의 String Pool 방식이 이와 같다.
테스트 코드:
class ExampleUnitTest {
@Test
fun addition_isCorrect() {
var str1 = "ABCD"
var str2 = "ABCD"
println(str1.hashCode())
println(str2.hashCode())
str1 = "ABCDE"
str2 = "ABCDEF"
println(str1.hashCode())
println(str2.hashCode())
}
}
반응형