object가 다른 class와 다른 점
singleton pattern이다.
object는 주생성자 부생성자 모두 사용할 수 없다
singleton pattern
-객체는 한번만 만들어 지므로
공통된 객체를 여러 개 생성해서 사용해야 하는 상황에서 많이 사용된다.
-장점-
-코드어디에서나 접근 가능하다.
-실행이 되어 클래스 파일을 읽어올 때 한 번만 객체를 생성하여
고정된 메모리 영역을 가져 불필요한 메모리 사용을 막는다
-단점-
-클래스가 사용되지 않을 때도 메모리 상에 인스턴스가 올라가 있다.(메모리 누수 현상)
-singleton 인스턴스가 많은 일을 하거나 데이터를 공유시킬 경우 다른 인스턴스와 결합도가 높아져
개방 폐쇄 원칙에 어긋난다.
수정이 어려워지고 테스트하기 어려워진다.
-서버 환경에서는 singleton이 하나만 생성되는 것을 보장하지 못한다.
개방폐쇄 원칙
소프트웨어 개발 작업에 이용된 많은 모듈 중에 하나에 수정을 가할 때 그 모듈을 이용하는 다른 모듈을 줄줄이 고쳐야 한다면, 이와 같은 프로그램은 수정하기가 어렵다. 개방-폐쇄 원칙은 시스템의 구조를 올바르게 재조직(리팩토링)하여 나중에 이와 같은 유형의 변경이 더 이상의 수정을 유발하지 않도록 하는 것이다. 개방-폐쇄 원칙이 잘 적용되면, 기능을 추가하거나 변경해야 할 때 이미 제대로 동작하고 있던 원래 코드를 변경하지 않아도, 기존의 코드에 새로운 코드를 추가함으로써 기능의 추가나 변경이 가능하다.
-위키백과
https://ko.wikipedia.org/wiki/%EA%B0%9C%EB%B0%A9-%ED%8F%90%EC%87%84_%EC%9B%90%EC%B9%99