[java] 학점 산출 프로그램
글쓰기/회고
/ 2021. 5. 17.
단순 java만을 이용한 프로그램 만들기 학점 산출 프로그램 만들기 설정 Good School이라는 학교에는 5명의 학생들이 수업을 듣고 있다. 과목은 국어와 수학이 있다. 학생들은 국어와 수학을 모두 수강해야 한다. 또한 각 학생들은 국어와 수학 둘 중 하나는 필수 과목으로 지정을 했고, 필수 과목인지 아닌지에 따라 학점 부여 방식이 달라진다. ① 각 학생별 필수 과목 및 성적 ② 학점 부여 방식 클래스 정의와 관계도 학점 평가 방식 설계 & 구현 GradeEvaluation 인터페이스 선언 후, 각 정책 클래스가 이를 구현 리포트 클래스 (Builder Pattern을 활용) 학점 평가에 대한 클래스들을 인스턴스화 하고 이에 대한 배열을 만들어 각 과목에 점수를 산정할 때 필수 과목인지 일반 과목인지..
서블릿(Servlet)
개발/Programming
/ 2021. 5. 14.
서블릿이란? 자바로 만든 CGI(Common Gateway Interface) 프로그램 CGI : 웹 서버 상에서 사용자 프로그램을 동작시키기 위한 프로그램. 초기 동적 웹 페이지 서버 쪽에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 Java 클래스 HttpServlet 클래스를 상속받아 구현됨. 서블릿 동작 과정 클라이언트가 웹 서버에 URL 요청 요청을 톰캣과 같은 웹 애플리케이션 서버(WAS)에 위임 WAS는 각 요청에 해당하는 서블릿을 실행 서블릿은 요청에 대한 기능을 수행한 후 결과를 반환하여 클라이언트에 전송 서블릿 특징 서버 쪽에서 실행되면서 기능을 수행 기존의 정적인 웹 프로그램의 문제점을 보환하여 동적인 여러 가지 기능 제공 스레드 방식으로 실행 자바로 만들어져 자바..
Thread
개발/Java
/ 2021. 5. 14.
Thread 란? process 실행 중인 프로그램이 실행되면 OS로부터 메모리를 할당받아 프로세스 상태가 됨 thread : process는 하나 이상의 thread를 가지게 되고, 실제 작업을 수행하는 단위는 thread ' 하나의 프로그램이 돌아간다 = 하나 이상의 thread를 갖고 있다 ' multi-threading 여러 thread가 동시에 수행되는 프로그래밍, 여러 작업이 동시에 실행되는 효과 thread는 각각 자신만의 작업 공간을 가짐( context ) 각 thread 사이에서 공유하는 리소스가 있을 수 있음(자바에서는 static instance) 여러 thread가 리소스를 공유하여 작업이 수행되는 경우 서로 자원을 차지하려는 race condition이 발생할 수 있음 이렇게 여..
직렬화(serialization)
개발/Java
/ 2021. 5. 11.
serialization 이란? 인스턴스의 상태를 그대로 파일로 저장하거나 네트워크로 전송(serialization)하고 이를 다시 복원(deserialization) 하는 방식 자바에서는 보조 스트림을 활용하여 직렬화를 제공 ObjectInputStream과 ObjectOutputStream ObjectInputStream(InputStream in) : InputStream을 생성자의 매개변수로 받아 ObjectInputStream을 생성 ObjectOutputStream(OutputStream out) : OutputStream을 생성자의 매개변수로 받아 ObjectOutputStream을 생성 ① Serializable 인터페이스 직렬화는 인스턴스의 내용이 외부로 유출되는 것이므로 프로그래머가 해..
I/O 스트림 (3) - 문자 단위 입출력 스트림, 보조 스트림
카테고리 없음
/ 2021. 5. 10.
문자 단위 입출력 스트림 Reader 문자 단위 입력 스트림 최상위 추상 클래스 많은 추상 메서드가 선언되어 있고 이를 하위 스트림이 상속받아 구현 주요 하위 클래스 FileReader : 파일에서 문자 단위로 읽는 스트림 클래스 InputStreamReader : 바이트 단위로 읽은 자료를 문자로 변환해주는 보조 스트림 클래스 BufferedReader : 문자로 읽을 때 배열을 제공하여 한꺼번에 읽을 수 있는 기능을 제공하는 보조 스트림 주요 메서드 int read( ) : 파일로부터 한 문자를 읽음. 읽은 문자를 반환 int read(char[ ] buf) : 파일로부터 buf 배열에 문자를 읽음 int read(char[ ] buf, int off, int len) : 파일로부터 buf 배열의 o..
I/O 스트림 (2) - 표준 입출력 스트림, 바이트 단위 입출력 스트림
카테고리 없음
/ 2021. 5. 9.
표준 입출력 스트림 System 클래스의 표준 입출력 멤버 public class System { public static PrintStream out; public static InputStream in; public static PrintStream err; } 이제까지 사용했던 System.out.println에서 System이라는 클래스 안에 static 변수로 선언된 out을 사용한 것이다. System.out → 표준 출력(모니터) 스트림 System.in → 표준 입력(키보드) 스트림 System.err → 표준 에러 출력(모니터) 스트림 System.in 사용 예제 import java.io.IOException; public class SystemInTest11 { public stati..