HashMap 이용한 데이터 관리 프로그램 직접 작성하기 ✅✅✅ Run Application.class package com.reminder.collection_practice.exhibition.run; import com.reminder.collection_practice.exhibition.view.ExhibitMenu; public class Application { public static void main(String[] args) { new ExhibitMenu().mainMenu(); } } Model DTO ExhibitDTO.class package com.reminder.collection_practice.exhibition.model.dto; public class ExhibitDT..
목차 File 클래스 입출력(io) 스트림(stream) 3-1. 입력 스트림 3-2. 출력 스트림 1. File 클래스 JDK 1.0버전부터 지원하는 API로 파일 처리를 수행하는 대표적인 클래스이다. 대상 파일에 대한 정보로 인스턴스를 생성한다. 이때 대상 파일이 존재하지 않아도 인스턴스 생성은 가능하다. 파일 생성, 삭제와 같은 기능들을 수행한다. File file = new File("src/com/greedy/section01/file/test.txt"); 파일의 위치이자 경로(pathname)를 String 문자열로 작성해 인스턴스를 생성하는 것이다. try { boolean createSuccess = file.createNewFile(); System.out.println("createSu..
목차 예외처리 방법 1-1. finally 1-2. try-with-resource Exception과 오버라이딩 예외처리를 가장 많이 활용하는 것이 io(input/output) 패키지이다. 아직 io를 학습하기 전이므로, io 문법보다는 try-catch 블럭의 실제 사용과 흐름에 집중해서 살펴보자. 1. 예외처리 방법 1-1. finally 예외처리 구문과 상관 없이 반드시 수행해야 하는 경우 작성하며, 보통 사용한 자원을 반납할 목적으로 쓰인다. close() 입출력에 사용한 스트림을 닫아주는 메소드이다. IOException을 위임한 메소드이기 때문에 finally 블럭 안이더라도 예외처리용 try-catch 블럭을 중첩해 썼다. if문에 넣지 않고 그냥 in.close();를 실행한다면, Nu..
ArrayList 이용한 데이터 관리 프로그램 직접 작성하기 ✅✅✅ String title, String artist 두 가지로 제작된 샘플은 주어졌지만, 직접 제작해보는 과제는 처음이었다. 최초 구상 따라 자막별 검색, 화질별 검색을 꼭 넣고 싶어서... String[] sub, int[] quality처럼 배열로 선언한 터라 참고할 예제도 없이 썼다 지웠다 반복하며 고민을 계속했다. 그러다 결국 찾은 방안은 생성된 전체 목록을 토대로 → 타입은 CreatorDTO로 둔 채로 반복문 for문에 넣어 → Arrays.toString() + contains(value) 조건을 달고 DTO 타입의 값으로 반환 받기였다. 물론 체계적으로 접근하진 못했고, 붙잡고 있으며 이 방법 저 방법 시도해보다 운이 좋아 ..
목차 예외(exception) 예외 클래스 계층 구조 예외처리 방법 3-1. throws 3-2. try-catch 3-3. finally 사용자 정의 예외클래스 1. 예외(exception) 프로그램 실행 중 문제가 발생해 구동에 영향 받는 것을 크게 오류와 예외로 구분할 수 있다. 오류(error)란 시스템상에서 프로그램에 심각한 문제가 발생해 실행 중이던 프로그램이 종료되는 것을 가리킨다. ❗ 에러(error)는 물리적 오류를 말하므로 프로그램 작성하는 개발자가 미리 예측하거나 처리하는 등 직접 다룰 수 있는 영역이 아니다. 예외(Exception)는 미리 예측하고 처리할 수 있을 만큼 상대적으로 미약한 오류를 말한다. 그렇지 못할 경우 오류와 마찬가지로 비정상적인 종료가 치러진다. ❗ 개발자는 이..
목차 Map 계열 1-1. HashMap과 HashTable 1-2. Properties 1. Map 계열 ❗ 구현클래스 - HashMap, HashTable, LinkedHashMap, Properties, TreeMap Map 인터페이스는 키의 경우 중복 저장 허용하지 않고(Set 계열), 값은 중복 저장 허용(List 계열)한다. 앞서 다룬 List 인터페이스, Set 인터페이스와는 다르게 Collection 인터페이스를 상속하지 않는다. 따라서 그와는 다른 저장 방식을 가진다. 요소의 저장 순서를 유지하지 않는다. 키(key)는 중복을 허용하지 않지만, 키가 다른 경우 중복되는 값(value)은 저장 가능하다. key와 value 키(key)와 값(value) 합친 덩어리를 엔트리(entry)라고..
🧩 학습 단원 : 객체 지향 프로그래밍 I (OOP) 📚 학습 도서 : (남궁 성 저) ✅ OOP Part. 1 예제 응용 학습 완료(2022.01.10) 개인적으로는 개념 정리가 주를 이룬 단원이어서 웬만한 예제는 교재 통해 코드 순서를 읽어보는 데에 집중했다. 응용A. 제품 시리얼 넘버 출력하기 ✅ 인스턴스 블럭을 이용해 count++;이 계속 진행될 수 있도록 한다. 이를 인스턴스 변수로 선언했다면 인스턴스 생성 시마다 0에서 초기화되는 작업을 거쳤을 것이다. Serial No. 1 Serial No. 2 Serial No. 3 생상된 제품 수량은 총 3개입니다. package com.reminder.exercises; class Product { static int count = 0; int se..
목차 컬렉션(collection) List 계열 2-1. ArrayList 2-2. Vector 2-3. LinkedList 2-4. stack 2-5. queue Set 계열 3-1. HashSet 클래스 3-2. LinkedHashSet 클래스 3-3. TreeSet 클래스 1. 컬렉션(collection) java.util 패키지 하위에 속해 있다. 데이터를 효율적으로 저장하는 자료구조와 데이터를 처리하는 알고리즘이 미리 구현돼 있는 것이다. 여기서 자료구조란, 데이터를 메모리상에 효율적으로 저장하기 위한 방법론을 칭한다. 크게 단순구조(정수, 실수, 문자, 문자열 등 변수) / 선형구조(List 인터페이스 계열) / 비선형구조(Set 인터페이스 계열) / 파일구조로 나뉜다. Collection.i..