플라이웨이트 패턴

차분한열정·2022년 1월 7일

디자인 패턴

목록 보기
8/15

인스턴스를 너무 많이 생성하면 메모리가 부족해지고 성능이 안 좋아질 수 있다.

플라이웨이트 패턴은 객체를 간단하게 만드는 패턴인데

자주 바뀌는 속성과 그렇지 않은 속성들을 구분하여 자주 바뀌는 속성만 추려내어 별도의 immutable한 객체로 만들어 해당 속성을 가지는 객체에 대하여 갈아끼워주는 패턴이다. 이때 해당 immutable한 객체를 만드는 팩토리도 만들어줘야 한다.


Integer a = Integer.valueOf(100);
Integer b = Integer.valueOf(100);

System.out.println(a == b); // true

Integer c = Integer.valueOf(2000);
Integer d = Integer.valueOf(2000);

System.out.println(c == d); // false

자바에서 -128 ~ 127 까지의 Integer 객체는 항상 캐싱이 된다..!

profile
성장의 기쁨

0개의 댓글