수업내용/Java 28

[2022.11.08.화] JSP 내장객체, JSP 요청객체

1. JSP 내장객체 JSP 페이지가 자바로 변환될 때 _jspService메소드에서 사용가능한 객체 JSP는 웹 애플리케이션 개발에 필요한 객체를 미리 생성(획득)해서 적절한 변수에 저장하고, 스크립트릿에서 사용가능한 상태로 초기화시켜놓는다. * 객체 생성, 참조변수 선언 * 참주변수에 객체 대입 * sample.jsp 는 톰캣에 의해 자동으로 sample_jsp.java로 변환 * 스크립틀릿에서 입력한 소스는 객체 생성 아래에 위치하기 때문에, 스크립틀릿에서도 내장객체를 사용할 수 있음! * JSP의 다양한 내장객체 변수명 클래스명 설명 request HttpServletRequest 클라이언트가 보낸 요청메세지 정보를 저장한다. response HttpServletResponse 클라이언트로 보낼 ..

수업내용/Java 2022.11.08

[2022.10.12.수] 예외처리 실습

1. 예외처리 응용해서 과제 다시 풀기 * 예외를 안쓸 경우 null을 반환할 때 - 강좌객체 or null이 반환됨 -> control에서 course가 null이 아닐때 화면에 출력, else이면 "해당하는 강좌가 존재하지 않음" 출력 if(course != null) { } else { } if( courseList.isEmpty() { } ) 이런식으로 따져줘야돼 예외를 발생시켜서 -> 예외를 일괄처리할거야 service에서 예외를 위임하면 -> 그 메소드를 호출한 측으로 던짐 -> 그 메소드를 호출한 control의 메소드 -> 이 메소드를 호출한 측으로 던짐 -> 메뉴() 메소드 에서 예외 일괄처리 오류가 발생할 것으로 예상되는 애들 = while문 내 예외가 발생하면 -> 자바가상머신까지 가..

수업내용/Java 2022.10.12

[2022.10.11.화] 예외처리 활용

1-3. 예외처리 활용 1) 예외처리 위임하기 method1에서 발생이 예상되는 예외가 checkedException 일 때, 반드시 - try catch를 사용해서 직접 예외처리를 하거나 - throws를 사용해서 예외처리를 위임 method2에서 발생이 예상되는 예외가 uncheckedExciption 일 때, - 예외처리를 하지 않아도 된다. - try catch를 사용해서 직접 예외처리를 할 수 있다. 근데 안해도 됨 - 예외처리를 위임시킬 때는 throws를 사용하지 않아도 이 메소드에서 발생한 예외가 이 메소드를 호출한 측에게 예외가 전달되고, 그 호출한 메소드로 예외처리가 위임된다 (위임할 때는 throws를 안적어도 됨) --> throws에 던질 메소드들을 안적어도 되니까 얘를 많이 씀 ..

수업내용/Java 2022.10.11

[2022.10.07.금] 예외처리

1. 예외처리 프로그램 실행 시 발생할 수 있는 오류에 대비하는 것으로 프로그램 비정상종료를 막고 실행 상태를 유지하는 것 1-1. 오류의 종류 1) 에러(Error) 시스템, 운영체제, JVM의 잘못으로 발생되는 것 개발자가 해결할 수 있는 문제가 아님 예외처리의 대상이 아님 2) 예외(Exception) 개발자의 코딩실수나 사용자의 잘못된 프로그램 사용으로 발생하는 오류 예외는 예외처리를 통해서 비정상적인 종료를 예방할 수 있다. 예외는 UncheckedException과 CheckedException으로 구분한다. * 최신의 라이브러리나 프레임워크는 대부분 UncheckedException을 사용 ◼ UncheckedException RuntimeException 클래스와 그 자식 클래스들이다. 주..

수업내용/Java 2022.10.07

[2022.10.05.수] 콜렉션(List<E>)

2. 콜렉션 2-2. Collection의 주요 하위 인터페이스 2) List 인터페이스의 구현클래스 ArrayList 가장 많이 사용되는 List 인터페이스의 구현 클래스 0번째부터 차례대로 저장하기, 0번째부터 차례대로 꺼내기 작업에 가장 적합 내부적으로 가변길이 배열을 활용해서 객체에 자동으로 저장 * ArrayList의 주요 메소드 (=Vector) - boolean add(E e) : 리스트의 맨 마지막에 새로운 객체 저장 - void add(int index, E e) : 리스트의 저장된 위치에 새로운 객체 추가 : 해당 위치부터 맨 마지막 객체들이 전부 한칸씩 뒤로 이동 - boolean addAll(Collenction

수업내용/Java 2022.10.05

[2022.10.04.화] 제네릭, 콜렉션(set<E>)

1. 제네릭(Generic) 콜렉션을 배우기 위해 꼭 알아야 하는 개념 소스 레벨에서 데이터 타입이 결정되지 않고, 별칭(타입파라미터)만 지정한다. 데이터 타입은 필드의 타입, 매개변수 타입, 리턴타입 등이다. 객체 생성시점, 구현클래스 구현시점, 메소드 실행시점에 별칭을 대신할 데이터 타입을 외부에서 지정하는 것이다. 제네릭은 다이아몬드 표기법으로 타입파라미터(별칭)를 지정한다. 객체 생성싯점, 구현클래스 구현싯점, 메소드 실행싯점에 데이터타입을 지정한다. 데이터타입은 클래스 혹은 인터페이스 타입만 가능하다. 기본 자료형은 제네릭의 데이터 타입으로 지정할 수 없다. 1-1. 객체를 저장하는 변수의 타입을 Object로 지정하는 경우 (제네릭 x) public class Box { private Obje..

수업내용/Java 2022.10.05

[2022.09.30.금] Date, Format, Math 클래스

Java API 중 다른 클래스 더 살펴보기 1. Date java.util.Date 현재 날짜와 시간정보를 표현하는 클래스 가장 많이 사용되는 클래스 java.sql.Date : 날짜 정보를 표현하는 클래스 java.sql.Timestap : 시간 정보를 표현하는 클래스 자바 1.8부터 날짜와 시간정보를 제공하는 클래스가 추가됨 (얘는 나중에) java.time.LocalDate : 날짜 정보를 표현하는 클래스 java.time.LocalTime : 시간 정보를 표현하는 클래스 java.time.LocalDateTime : 날짜와 시간정보를 표현하는 클래스 * 유닉스 타임 : 1970년 1월 1일 0시 0분 0초부터 현재 싯점까지의 시간을 1/1000초 단위로 환산한 값이 반환 1-1. java.uti..

수업내용/Java 2022.10.01

[2022.09.29.목] 학생, 성적 처리 실습

Student(), Score() : 학생 정보, 성적 정보 담당 Student의 변수 중 Score score 가 있음 -> Score객체 참조 StudentApp() : 실행 담당 Controller 객체 생성, Controller의 메소드들 실행 Controller가 필요함 (프로그램을 실행하기 위해) StudentController() : 사용자와 상호작용 담당 (메뉴표시, 키보드로 입력받기, 출력하기) keyboardreader가 필요함 (상호작용 - 키보드로 입력받기 위해서) Service도 필요함 (서비스기능(업무로직)을 사용하기 위해서 - Service의 로직에 따라서 실행) ~~ 기능들이 있고, 키보드로 입력받고 저장하는 정도로만 되어있음 Controll..

수업내용/Java 2022.09.30

[2022.09.28.수] System 클래스

1. System 클래스 자바 애플리케이션이 실행되는 시스템에 대한 정보 및 시스템과 연결된 입출력 객체를 제공 java.lang 패키지에 속해있다. System 클래스의 모든 필드와 모든 메소드는 정적필드, 정적메소드다. (객체 생성할 필요 X ) 주요 API 변수) static InputStream System.in; - 표준 입력장치(키보드)와 연결된 객체를 제공 static PrintStream System.out; - 표준 출력장치(모니터 or 콘솔)와 연결된 객체를 제공 static PrintStream System.err; - 표준 에러출력장치(모니터 or 콘솔)와 연결된 객체를 제공 메소드) static String getenv(String name) - 지정된 이름의 컴퓨터의 환경변수 값..

수업내용/Java 2022.09.29