Java85 POJO JAVA POJO(Plain Old Java Object) - 순수한 자바 오브젝트를 뜻한다. - 역사를 거슬러 올라가보면, 예전 EJB가 인기를 끌고, 많이 사용하던 시절에는 단순한 자바 오브젝트를 사용해서 개발하는 것이 아닌, EJB에 종속적인 부분으로 개발을 진행 - 그로 인하여, Module의 교체, 시스템 업그레이드시 종속성으로 인하여 불편함 발생 POJO 특징 - 1. 특정 규약에 종속 되지 않는다. 특정 Library, Module에서 정의된 클래스를 상속 받아서 구현하지 않아도 된다. POJO가 되기 위해서는 외부의 의존성을 두지 않고, 순수한 JAVA로 구성이 가능해야 한다. - 2. 특정 환경에 종속되지 않느다. 만일 특정 비지니스 로직을 처리하는 부분에 외부 종속적인 http request, .. 2022. 6. 15. 객체지향 설계 5원칙 (SOLID) 응집도와 결합도 - 좋은 소프트웨어 설계를 위해서는 결합도(coupling)는 낮추고 응집도(cohesion)는 높여야 한다. 결합도 - 모듈(클래스) 간의 상호 의존 정도를 나타내는 지표로써 결합도가 낮으면 모듈 간의 상호 의존성이 줄어들어서 객체의 재사용 및 유지보수가 유리하다. 응집도 - 하나의 모듈 내부에 존재하는 구성 요소들의 기능적 관련성으로 응집도가 높은 모듈은 하나의 책임에 집중하고 독립성이 높아져, 재사용 및 유지보수가 용이하다. 1.SPR(single Responsiblity Principle) 단일 책임 원칙 - 어떠한 클래스를 변경해야 하는 이유는 한 가지뿐이어야 한다. 2. OCP(Open Closed Principle) 개방 폐쇄 원칙 - 자신의 확장에는 열려 있고, 주변의 변화.. 2022. 6. 15. 5.최단거리 구하기 문제 문제풀이 - 모든 노드 중 연결된 최단거리를 가진 노드를 찾아서 - 노드 v에 인접한 노드 w에 대해 다음 조건이 성립하면 w에 대한 최단 거리를 업데이트 한다. (즉, 원래 w로 가던 거리보다 v를 거쳐가는 거리가 더 가까우면 w로 가는 거리는 v를 거쳐가는 것으로 최단 거리를 수정) Yw = Yv + Cvw if Yv +Cvw < Yw - MyGraph.java class MyGraph{ private int count; private int[][] vertexMatrix; private int[] distance; private boolean[] visited; private static int UNLIMIT = 999999999; public MyGraph(int count) { this.coun.. 2022. 6. 10. 4.DFS(Depth - First Search)와 BFS(Breadth - First Search) 그래프 탐색 그래프를 matrix로 표현하기 - UndirectedGraph.java public class UndirectedGraph { private int count; private int[][] vertexMatrix; public UndirectedGraph(int count) { this.count = count; vertexMatrix = new int[count][count]; } public void addEdges(int from, int to, int weight) { vertexMatrix[from][to] = weight; vertexMatrix[to][from] = weight; } public int[][] getMatrix(){ return vertexMatrix; } } .. 2022. 6. 10. 이전 1 2 3 4 ··· 22 다음