Category List111 [디자인 패턴] 싱글톤 패턴 Singleton pattern 📌 Singleton pattern 어떠한 클래스(객체)가 유일하게 1개만 존재(해야)할 때 사용한다. 서로 자원을 공유할 때 사용하는데, 실물 세계에서는 프린터(여러 대의 컴퓨터가 하나의 프린터를 가지고 공유해 사용)가 해당되며, 실제 프로그래밍에서는 TCP Socket 통신에서 서버와 연결된 connect 객체(socket은 하나만 사용)에 주로 사용한다. 스프링에서는 Bean이 있다. 어떠한 서버와 통신한다고 했을 때, 때마다 연결하는 것이 아닌 한번 통로를 연결해놓고 사용한다. 7 싱글톤은 자기 자신의 객체 를가지고 있어야하며, 9 기본(디폴트) 생성자를 기본 생성자로 생성할 수 없도록 private 으로 막아놔야 한다. 13 static 을 이용해 getInstance()를 만들어놓고, 14 자.. 2021. 6. 4. [디자인패턴] Design Pattern 의 효용과 종류 📌 Design Pattern 의 효용 자주 사용하는 설계 패턴을 정형화해서 이를 유형별로 가장 최적의 방법으로 개발을 할 수 있도록 정해둔 설계. 알고리즘과 유사하지만, 명확하게 정답이 있는 형태는 아니며, 프로젝트의 상황에 맞추어 적용 가능하다. A식으로 로직을 구성하면 템플릿 메소드 패턴. B식으로 로직을 구성하면 옵저버 메소드 패턴. : 해결하려는 문제가 무엇이느냐에 따라서 그에 적당한 구조를 선택해 사용한다. 📍 Gof 디자인 패턴 소프트웨어를 설계 할 때는 기존의 경험이 매우 중요하다. 사람들이 개발을 하면서 축적되온 지식와 패턴들을 공유하기 위해서 나온 것이 Gang of Four 의 디자인 패턴이다. 객체지향 개념에 따른 설계 중 재사용할 경우 유용한 설계를 디자인 패턴으로 정리해 둔 것이.. 2021. 6. 4. [JAVA] 객체지향 5대원칙 / POJO JAVA 📌 SRP Single Responsibility Principle 단일 책임 원칙 클래스는 하나의 일에만 책임진다. 즉, 1개의 클래스에 하나의 역할만 가져야한다. 설계중인 프로그래밍에 클래스가 여러가지 역할을 가지고 있다면 검토 후, 불필요한 필드나 메소드를 제거해야한다. 예를들어 FileReader(String str)로 쓰이다가 -> FileReader(File file)로 매개변수 객체를 바꾸면 외부에서 쓰이고있던 FileReader는 변경이되었기때문에, FTP Client와 FileReader 또한 수정해줘야한다. . . 이 밖에도, FTP Client는 너무 많은 기능을 가지고 있다. 각각을 분리시킬 필요가 있다. 그렇게 되면 다른 새로운 모듈 (Local File Reader, HttpCl.. 2021. 6. 3. [JAVA] 객체지향에서의 물리 객체와 개념 객체 / 응집도와 결합도 📍 객체지향에서의 물리 객체와 개념 객체 물리객체 실제로 존재하는 사물을 클래스로 정의한 객체를 뜻한다. ex) 자동차 렌탈 시스템 : 자동차, 고객, 직원, 사업장 정비소 등 ex) 급여 관리 시스템 : 직원, 월급통장 등 개념객체 웹 시스템에서의 Service에 해당되며, 이는 Business logic을 처리하는 부분을 의미한다. Business logic 에서는 여러 객체를 서로 상호작용 하도록 하게하며, 객체가 제공하는 오퍼레이션 method를 통하여 객체의 속성을 변경시킨다. ex) 사용자 관리 시스템 : 사용자 객체의 마지막 접속일자를 이용하여 계정만료, 비밀번호 초기화, 재등록 처리 등등 📢 객체 지향에서 대부분의 코딩은 각 객체에 기능을 정의하고 이를 business logic을 이용해 .. 2021. 6. 3. [JAVA] Unresolved compilation problem / Clean / Vaildate 다른 클래스를 참조해서 메인에서 사용하려고 하는데 오류가났다' 보통 git이나 다른 곳에서 import해서 파일을 들여온 경우에 발생하는 에러다. 나 같은 경우 다른 프로젝트에 있던 클래스를 복붙해서 오류가 났다. 이때 복붙은 클래스를 이미 만들고 난 후, ctrl+c, v 한거다. 프로젝트 익스플로어 Project Explore 에서 ctrl+c, v 한 경우는, 이클립스가 자동 패키지 변경을 해주는데 이렇게 수동 클래스 생성 후 코드만 복붙하면 에러가 날 수도 있다. 보통 해결방법은 1. 프로젝트 Project > clean 2. tomcat clean, tomcat 디렉토리 clean 나는 1번 방법을 사용했다. clean 기능을 사용하기 전에, 확인해야할 게 있는데 '에러 타당성'이다. 실제로는 .. 2021. 6. 2. [책] 데이비드 포스터 월리스 <끈이론> 끈이론 - 교보문고 강박적이고 우울한 사람을 끌어당기는 가장 고독한 경기, 테니스 | 빌 게이츠 선정 2016년 올해의 책“월리스는 이 산문에서도 쇠숟가락 구부리듯 언어를 다루는 기막힌 방법을 발견하고야 만다. www.kyobobook.co.kr 데이비드 포스터 월리스 글쓰는 일에 천재고 아니고를 따지고 싶지 않지만 그의 글을 읽다보면 저절로 인정하게 된다. 데이비드 포스터 월리스는 천재다. 월리스가 국내에 본격적으로 알려진 건 일 것이다. 그의 작품은 소설도 에세이도아니다. 가짜도 진짜도 아닌 것으로 그는 사람들을 웃긴다(정말 웃음이 터지는 글들이 많다). 실제 그가 겪은 일을 바탕으로 약간의 조미료를 더한 글들인데 거기에 어떤 '맛'이 있다. 어떤 작가 특유의 느낌이 나게하면서 사람들을 끌어당기는 어.. 2021. 6. 2. 이전 1 ··· 11 12 13 14 15 16 17 ··· 19 다음