과거/Java
-
SOLID원칙과거/Java 2021. 4. 12. 11:16
1. 개요 1) 객체지향 설계를 위한 5가지 원칙 ※ 객체지향 프로그래밍 (1) 어떠한 작은 문제를 해결할 수 있는 객체를 생성 (2) 객체를 조합 (3) 시간, 생산성의 문제 2. 원칙 1) Single Responsibility Principle (1) 객체는 하나의 목적과 역할을 지닌다 (2) 하나의 객체가 여러가지 목적, 역할을 하면 유지, 보수가 어렵다 (3) 응집도가 높고 결합도가 낮은 프로그래밍 지향 2) Open/closed Principle (1) 객체는 확장에는 유연하고(open), 수정에는 폐쇄적이어야(close) 한다 = 기존 코드는 변경하지 않고 기능을 추가하거나 수정할 수 있어야 한다 (2) 상속관계인 자식 클래스 및 부모 클래스에서 자식 클래스에서 부모 클래스 정보는 사용할 수..
-
엑셀 파일 읽기, 쓰기과거/Java 2021. 4. 6. 10:09
1. 개요 1) 엑셀 파일 읽기 2) 엑셀 파일 쓰기 2. 작업 1) 라이브러리 추가: apache poi 2) 엑셀 파일 읽기 및 쓰기 public static void main(String[] args) throws Exception{ List empList = new ArrayList(); empList = getExcel(); // 1. 엑셀 파일 읽기 writeExcel(empList); // 2. 읽은 엑셀 파일 쓰기 } // main method end public static List getExcel() throws Exception{ List getEmpList = new ArrayList(); String readPath = "읽어들일엑셀파일경로"; // 읽을 파일 경로 InputStr..
-
Thread과거/Java 2021. 3. 17. 16:30
1. 개요 1) 하나의 프로세스에서 실행하는 작업 = 하나의 프로세스가 실행되면 하나의 스레드가 실행됨 2) 메인 스레드 작동 = 프로세스 시작 3) 프로세스 내부에 하나의 스레드가 동작 = 싱글 스레드 프로세스 4) 프로세스 내부에 여러 개의 스레드가 동작 = 멀티 스레드 프로세스 2. 프로세스 1) 운영체제로부터 실행에 필요한 자원인 메모리를 할당받아 실행 중인 프로그램 2) 수행에 필요한 데이터, 메모리 등의 자원 그리고 스레드로 구성 ※ 멀티 프로세스 (1) 여러 개의 CPU 프로세스가 작업을 병행 처리하는 기법 (2) CPU 프로세스들은 독립적으로 여러 대의 컴퓨터에서 분산 처리할 수 있는 장점이 있음 (3) 각 프로세스는 자원을 독립적으로 할당받아야하므로 자원 소모가 많고 통신과 작업을 나누고..
-
Collections Framework과거/Java 2021. 3. 11. 15:24
1. Collection 1) Set: 순서 없음, 중복 없음 -> 수학의 집합에 비유 가능 (1) HashSet: 순서가 필요없는 데이터를 HashTable에 저장 (2) TreeSet: HashSet과는 달리 이진 탐색 트리 구조로 검색과 정렬에 HashSet보다 유리 (3) LinkedHashSet: 연결된 목록 타입으로 구현된 HashTable에 저장 2) List: 순서 있음, 중복 가능 (1) ArrayList: 순차적인 삽입/삭제, 인덱스가 있어서 임의의 요소에 대한 접근성이 뛰어남 (2) Vector: 동기화 보장하나, 성능 이슈 (3) LinkedList: 삽입/삭제가 중간에서 이루어질 때 유리 3) Stack (1) 먼저 들어간 자료가 나중에 나옴(LIFO) (2) 재귀적 함수 호출에 ..