IT/JAVA 59

MVC 패턴 복습 2

애플리케이션을 만들 때는 설계 먼저 진행한다.[설계 과정]1. 요구사항 정의2. CRUD(=비즈니스 메서드, 핵심 관심, 주요 기능) 구분하기3. 사용자 시각에서 기능 이용해보기 >> User Flow ( + 개발자들이 기능에 대해 동일한 생각을 하고 있는지 확인) 설계 정말 꼼꼼히 하는 게 좋다.......  MVC 패턴 코드 디벨롭하기1. M CRUD 오버로딩 : 하나의 메서드에서 모든 로직을 관리하여 응집도 높이기■ 인자가 같아서 오버로딩 불가능할 때 : condition 사용□ condition : 자바에서 개발용으로 생성해놓은 멤버변수. CRUD 메서드에 condition과 if문을 사용하여 오버로딩이 필요한 메서드들을 하나로 합친다. => 응집도 증가2. M CRUD에 있는 모든 메서드 시그니..

IT/JAVA 2025.02.09

MVC 패턴 - Controller 분석

package controller;import java.util.ArrayList;import model.StudentDAO;import model.StudentDTO;import view.View;public class Controller { // startUp() 만들 때 앞에 public 붙여서 다른 패키지에서 사용할 수 있도록 하기 /*PRIVATE 모델 모델; private 뷰 뷰; Controller() { this.모델 = new 모델(); this.뷰 = new 뷰(); } public void startApp() { while(true) { this.뷰.printMenu(); int menuNum=this.뷰.inputMenuNum(); if(menuNum = 0) { ..

IT/JAVA 2025.02.07

MVC 패턴 복습

[ 1. Model ] ■ 자료형 역할. 자료형 정의.□ 자료형 역할을 하기 때문에 VO, DTO 등으로 불린다.□ DB와 관련된 모든 행동은 Model이 함 [모델의 역할]1) 자료형(DTO, VO)을 정의 2) CRUD, 비즈니스 메서드, 핵심 관심, 핵심 기능 3) DB, DBMS, DATA 등을 관리 ■ Model에서는 DTO와 DAO를 사용한다. ■ DAO : Data Access Object의 줄임말로, DB에 접근할 수 있도록 해준다. □ output은 boolean으로 고정□ 다른 곳에서 사용해야 하므로 접근 제어자 public으로 선언□ 5개의 메서드만 가질 수 있다. (DTO에 접근할 수 있게 하는 메서드들)- selectOne, selectAll, insert, delete, upda..

IT/JAVA 2025.02.07

유효성 검사, 예외처리 전 코드

MVC 패턴 프로젝트 - VIEW 파트 유효성 검사, 예외처리 추가하기 전 코드 1. ClientViewpackage view;import java.util.ArrayList;import model.MemberDTO;import model.BookDTO;public class ClientView extends View { public void printMenuLogin() { // 회원 메뉴 출력 System.out.println("1. 도서관 책 목록 출력"); System.out.println("2. 인기 대출 도서 출력"); System.out.println("3. 책 검색"); System.out.println("4. 장바구니 담기"); System.out.println("5. 장바구니 ..

IT/JAVA 2025.02.03

MVC 패턴 - 유효성 검사/예외처리

MVC 패턴 프로젝트 중 유효성 검사, 예외 처리를 하던 중 알게 된 점 정리 [클라이언트뷰 메서드 목록]클라이언트뷰 메서드 목록1) inputNum() // 메뉴 번호 입력 √ 2) printPopularList() // 인기 대출 도서 출력 √ 3) inputBookName() // 책 검색 시 이름 입력 √ 4) addToCart() // 장바구니 담기 결과 출력 √ 5) borrowFormCart() // 장바구니 책 대여 √ 6) printReturnBook() // 책 반납 결과 출력 √ 7) printCartEmpty() // 장바구니 비우기 성공 안내 √ 8) printDatas() // 대여한 책 목록 출력 -> 오버로딩 √9) checkBorrow() // 대여 확인 문구 √10) ..

IT/JAVA 2025.01.31

Java Section 19 : 파일 입출력

□ 자바에서는 입출력을 처리하기 위한 별도의 I/O 패키지를 제공하고 있음  >> java.io 패키지에서 제공       - 파일 시스템의 정보를 얻기 위한 File 클래스와 데이터 입출력을 위한 다양한 스트림 클래스 제공 - 바이트 기반 : InputStream, OutputStream ① inputStream : 입력 스트림- FileInputStream : 파일에서 바이트 단위로 자료를 읽어들일 때 사용하는 스트림new FileInputStream(경로/파일명); ② OutputStream : 바이트 출력 스트림- FileOutputStream  □ 문자 기반 : Reader, Writer① Reader : 문자 입력 스트림- FileReader ② Writer : 문자 출력 스트림- FileWr..

IT/JAVA 2025.01.27

Java Section 18 : 스레드

[프로세스와 스레드]□ 프로세스 : 프로그램의 한 단위. 실행 중인 프로그램으로, 메모리에 독립적으로 저장되어 실행된다.□ 스레드 : 프로그램 내에서 동작하는 작업 단위를 말하며 스레드를 통해 동시에 여러 가지 작업 가능 - 각각의 프로세스들은 메모리에 독립적으로 등록되어 서로 간섭할 수 없음- 하나의 프로세스 안에서 다양한 작업을 동시에 하기 위해 스레드가 각자 독립적으로 존재하여 일 수행- 하나의 프로세스는 적어도 한 개의 스레드를 가진다.Thread 클래스를 상속하여 run() 메서드 구현Runnable 인터페이스 구현 ① Thread 클래스 상속- 클래스에 Thread를 상속받은 경우에는 Thread가 가지고 있는 run() 메서드를 사용해서 생성 ② Runnable 인터페이스 상속- 클래스 상속..

IT/JAVA 2025.01.25

Java Section 17 : 람다식

[람다식]: 함수의 이름이 없는 익명 함수를 만들기 위한 표현식-> 식별자 없이 실행 가능한 함수 [람다식 문법]- 메서드의 이름과 반환 타입을 제거하고 화살표 기호(→)를 사용해 구현함.- 문법이 간결해지고 원하는 결과를 쉽게 집계할 수 있다.- 매개변수 자료형을 생략할 수 있으며, 매개 변수가 한 개인 경우에는 소괄호도 생략할 수 있다. (두 개 이상일 경우에는 불가능)- 구현 내용이 한 문장이거나 return이 없다면 (void) 구현부에 있는 중괄호{ }도 생략 가능-> 함수의 내용이 두 문장 이상이거나 return 타입이 있으면 생략 불가능- 중괄호 안의 구현 코드가 return문만 존재하면 중괄호, return 모두 생략 가능 ※ 원래 메서드int add(int x, int y) { retur..

IT/JAVA 2025.01.24