개체지향 프로그래밍 및 설계 (Java)
Search
Share
개체지향 프로그래밍 및 설계 (Java)
singleton이란 강의를 들으면서 간단해 보이는 클래스인 것 같은데 생각하고 고려해야 할 부분이 정말 많다는걸 알게 되었다.
특히 객체지향을 이해함에 있어 한줄 한줄 코드존재의이유를 생각하다보니 객
체의 생명주기 관리와 캡슐화, 그리고 ‘유효한 상태’라는 oo의 원칙, 지향적(?)에 맞진 않는지,
한편으론 실용적 관점에서 이 파괴가 어떤 문제점을 일으킬까? 등 고민들이 이어졌다.
점점 배움의 후반부엔 싱글톤의 사용성 여부 (객제지향적이지 않다라는 의견) 고민과 이에 대한 대안과 함께 실무에서는 어떤 관점으로 봐야할지에 대해 나름 생각한 부분을 들여다 보려고 한다.
먼저 싱글턴의 코드가 왜 이렇게 구조화 될 수 밖에 없는지를 이해해보자.
싱글턴 패턴은 클래스 인스턴스를 하나만 만들고, 그 인스턴스로 전역 접근을 제공한다는 목적을 달성한다.
아래 코드는 위의 설계를 그대로 구현한 것이다.
Singleton 어떤 문제를 해결하려는걸까?