로그인/회원가입/조회 MemberDao.java package dao; import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List; import model.Member; public class MemberDao {private static MemberDao instance; public static MemberDao getInstance() {if (instance == null)instance = new MemberD..
//DB의 Student테이블 관련 작업을 하고 싶을때//StudentDao클래스의 객체를 만들어서 //해당 기능을 호출하면 됨 StudentDao dao = new StudentDao(); for(Student s : dao.selectAll()) System.out.println(s); //StudentDao객체를 만들 때마다 새로운 Connection도 만들어짐//우리는 프로그램 실행~종료까지 하나의 connection만 유지하고 싶음//나중에 좀 더 효율적인 Connection관리는 Connection Pool을 이용해서//StudentDao클래스의 객체가 1개만 유지되게 하려면싱글턴 패턴//특정 클래스의 객체가 1개만 유지되도록 하는 디자인 패턴//특정 클래스의 객체가 하나만 만들어지고 어디서든..
16장 스레드 * 스레드 : 프로그램의 명령처리 흐름 * 프로세스 : 프로그램 실행의 최소 단위, 최소 하나의 스레드를 가짐 * 병렬 처리 : 두개이상의 명령문을 동시에 수행* 병렬 처리 구현방법 1. 다중 프로세스 - 각 프로세스가 별도의 메모리 공간을 할당 받기 때문에 각 프로세스간에 데이터를 어떻게 주고 받을 것인지가 이슈(IPC) ↓ ↓ 2. 다중 스레드 - 각 스레드들이 하나의 프로세스 안에서 공통 된 메로리 공간을 공유하기 때문에 교통정리가 이슈 ↓ ↓ 스레드 클래스 프로그램이 실행되면 처음 만들어지는 기본스레드(main thread)는 메인함수를 한번 실행하는 작업을 수행 void start() - 스레드 객체의 start 메소드가 호출되면 새로운 명령처리 흐름이 생성파생스레드 - run함수..
요구사항분석목적 구체화화면설계사용되는 데이터들문서화 15장 예외처리 * 예외 : 런타임 에러, 프로그램 실행 중 잘못된 코드, 부정확한 데이터, 예외적인 상황에 의하여 발생되는오류* 예외처리 : 위상황이 왔을때 어떻게 해야할지 명세를 작성해 주는 것 * try/catch/finally 블록try - 예외발생코드 입력catch - 예외처리코드 입력finally - 오류가 발생하든 안하든 항상 실행되어야 하는 코드 * 예외의 종류RuntimeException - 부정확한 코드에 의해 발생 - 선택적으로 예외처리 적용해야 함(필수X)-ClasscastException - instanceof사용-ArrayIndexOutofBoundsException - if( arr.length < index )-NullPoi..
패키지클래스(interface, enum..)의 묶음으로서 하나의 디렉토리(폴더)이다. 패키지의 이름과 같은 디렉토리 내에 클래스 파일들을 포함하며 하위 패키지도 포함하는 중첩된 구조도 가능하다. 난수 : 무작위로 추출된 수먼저 java.lang.Math 클래스를 임포트한다. Math.random()과 같이 사용하면 0에서 1사이의 소수를 얻는다. 보통 (int)(Math.random() * 10)과 같이 형변환을 하여 사용한다.그 외에도 Random 클래스를 이용하기도 하는데, Random 클래스 내 nextint(), nextDouble() 등의 메소드를 사용한다. next 뒤에 오는 Int나 Double은 자료형을 뜻하며 소괄호 안에 숫자를 넣어 난수 범위를 지정할 수 있다.메소드체인기법(빌더패턴)..