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())
    }
}

 

 

반응형