본문 바로가기

웹_프론트_백엔드/JAVA

(40)
2020.10.08(JAVA_심화반) 1. 박스오피스(저번 수업 시간에 미완성한 수정, 삭제, 검색, 목록 완성) 1) 소스코드 ** com.lec.java.dao > BoxOfficeDAO.java package com.lec.java.dao; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import com.lec.java.vo.BoxOfficeVO; // Controller public class BoxOfficeDAO { // 추가, 이 메소드를 뷰단에서 사용할 것임! /** * 랭킹을 전달하면 해당 랭킹에 삽입 * 랭킹을..
2020.10.06(JAVA_심화반) 1. 소프트웨어 디자인 설계 패턴 - MVC : 분업의 목적을 위해 사용...! ① Model : 저장소에서 가져온 데이터를 담을 수 있는 틀을 선언 ② Controller : 추가, 수정, 삭제, 검색, 목록 등 메소드가 선언되어 있으며, 결과값을 Model 객체에 담아서 리턴하도록 설계 ③ View : 사용자가 직접 눈으로 보는 화면을 구현하는 부분 Controller에 선언된 메소드를 사용하여 결과를 뿌려주는 작업 설계 2. MVC model1과 model2 1) model 1 : 소규모 혹은 중규모 프로젝트에 어울리는 설계 패턴 View와 Controller가 함께 존재 [장점] 선언하는 페이지와 사용하는 페이지가 한 페이지에 같이 있다는 건 (MVC model2보다) 설계가 쉽다는 뜻. 설계가 ..
2020.09.29(JAVA_심화반) 1. MVC 모델 2 Model : 데이터에 대응 View : 보여지는 화면 Controller : 흐름 제어 2. MVC 모델 1 : View, Controller가 함께 있는 것 3. DAO(Data Access Object) - dao : 데이터에 접근하기 위한 객체, 데이터를 관리하는 여러 메소드들이 정의되어 있다. 4. DTO(Data Transfer Object) / VO(Value Object) - dto : 양쪽으로 전송되어 오고가는 데이터 객체, 데이터 포장 객체 5. MVC 모델 1을 이용한 쇼핑몰 만들기 ** com.lec.java.dto > UserDTO.java package com.lec.java.dto; public class UserDTO { private static int..
2020.09.24(JAVA_심화반) 1. HaspMap을 이용하여 equals(), hashCode() 재정의 ** com.lec.java.hashmap > Student.java package com.lec.java.hashmap; public class Student { int num; String name; public Student() {;} public Student(int num, String name) { super(); this.num = num; this.name = name; } @Override public boolean equals(Object obj) { if(obj instanceof Student) { Student std = (Student)obj; if(std.hashCode() == this.hashCode..
2020.09.22(JAVA_심화반) 1. 복습 1) Set : 집합, 중복이 없다, 검색 Iterator() : 반복자 2) Map : 키 [해쉬테이블] 값 KeySet() : Set values() : Collection 2. 프로그램 > 프로세스 > Thread(쓰레드) > 작업 1) 프로그램 : 소스코드로 잘 짜여진 틀. 더블 클릭하면 실행되는 것. 아직 실행되지 않음. 2) 프로세스 : 실행된 프로그램. 운영체제로부터 시스템 자원을 할당받는 작업의 단위. 자바에서는 JVM으로부터 할당 받는다. 3) 쓰레드 : 프로세스의 특정한 수행 경로 하나의 처리 경로를 가지느냐, 여러 개의 처리 경로를 가지느냐에 따라서 단일 쓰레드와 멀티 쓰레드로 나누어진다. 3. 단일 쓰레드와 멀티 쓰레드 1) 단일 쓰레드 : 직렬적이다. 첫번째 작업이 모두..
2020.09.18(JAVA_심화반) 1. 로그인, 회원가입, 암호화, 복호화 ** com.lec.java.user > User.java package com.lec.java.user; public class User { private String id; private String pw; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getPw() { return pw; } public void setPw(String pw) { this.pw = pw; } } ** com.lec.java.user > Field.java package com.lec.java.user; import java.util.ArrayList..
2020.09.17(JAVA_심화반) 1. 제네릭(Generic) : 자료형을 정하지 않는 기법(외부에서 지정) ** 문법 : E - Element K - Key N - Number T - Type V - Value 1) Generic Class : 클래스 내부에서 사용될 자료형을 지정한다. 클래스명 뒤에서 제네릭을 선언한다. 2) Generic Method : 클래스에 제네릭에 선언하지 않고, 메소드에만 제네릭을 선언하는 방법. 메소드의 매개변수 또는 리턴타입이 제네릭이라면 리턴타입 앞에도 제네릭을 선언해야 한다. 3) Generic Interface 인터페이스에서 제네릭을 선언하고, 지정받은 클래스에서 타입을 정한다. 2. 제네릭 예제 ** com.lec.java.generic > GerInter 인터페이스 package com.lec...
2020.08.27(JAVA_심화반) 1. 예외처리 예제 ** com.lec.java.exception > ExceptionTest.java package com.lec.java.exception; public class ExceptionTest { public static void main(String[] args) { // try catch문 : try로 감쌀 문장 블록 + Alt + Shift + Z try { System.out.println(10/0); } catch (Exception e) { System.out.println("0으로 나눌 수 없습니다."); // 객체를 출력할때 언제나 toString()이 생략된 것임 System.out.println(e); System.out.println(e.toString()); } Sy..
2020.08.25(JAVA_심화반) 1. Marker Interface : 클래스들의 공통 그룹명으로 인터페이스를 생성하고 아무것도 구현해놓지 않는다. 즉, 그 클래스들이 같은 그룹으로 묶였다는 표시를 하기 위해 사용한다. [추가] 위의 예시와 같이 Marker Interface로 묶게되면 instanceof 건설을 통해 모든 건설 타입을 확인할 수 있다. 2. Marker Interface 예시 : 샌드박스에는 많은 비디오 영상이 있다. 현재...! 샌드박스에 들어있는 모든 비디오 영상은 이미 Video를 상속받은 상태이다. 그러나...! 나는 많은 비디오 영상 중 애니메이션만 추출하고 싶다. 가능할까? 만약 가능하다면 어떻게 해야하나? 이럴때는 마커 인터페이스를 이용하면 된다(애니메이션이라는 공통분모를 마커 인터페이스를 통해 묶기). ..
2020.08.11(JAVA_심화반) 1. 대표적인 IDE : 우리나라에서는 최근에 인텔리J 사용률이 많이 상승되었으나 아직까지는 이클립스를 많이 사용한다. Why? 아무래도 인텔리J 사용은 유료이고 기존에 이클립스로 작업했던 프로젝트를 유지보수나 이어서 하기 때문이다. ** 2020년도 개발자 에코시스템의 현황 - Java https://www.jetbrains.com/ko-kr/lp/devecosystem-2020/java/ 2. Java2 심화반에서는 이클립스 Photon 버전으로 수업 진행 3. The selection cannot be launched, and there are no recent launches. 에러 : Window > Preferences 창 클릭 > Run/Debug > Launching 선택, Launch O..