목록디바이스 융합 자바(Java)기반 풀스택 개발자 양성과정(수업내용) (81)
열심히 끝까지
학생부를 할 것! [설계] 학생부 프로그램 만들 것 ★실제객체는 멤버변수가 이렇게 적지 않다.. 학생 VO(속성) 학번 PK 이름 성적 ★ 기본생성자를 사용(JSP, Spring 프레임워크 -> "자동매핑") 학생부 ArrayList DB // 얼마나 많이 오버로딩될 지 모르기때문에 학생 VO로 통일 ★ CRUD(비즈니스 메서드 핵심로직) 메서드 인자값을 VO로 통일시켜서 작업 -> 오버로딩↓ : VO의 멤버변수가 많을수록 오버로딩할 메서드도 기하급수적으로 많아짐 -> 유지보수↑ : VO에 멤버변수가 추가되더라도, DAO의 메서드 시그니쳐는 변경되지 않는다. boolean insert(이름) // 메서드 오버로딩 boolean Insert(이름 ,성적) // 메서드 시그니쳐 정의 >> boolean in..
[오늘 수업] [MVC] Model------------------- DB 저장된 데이터 => VO : 어떻게 Java 객체로 표현할 지 ex ) 재고 데이터 DBMS(Oracle, MySQL) DBMS에 저장된 데이터를 Java단으로 불러오는 역할 => DAO : CRUD(핵심로직, 비즈니스 메서드) == 사용자에게 서비스(제공)되는 메서드 View------------------- 사용자 공간 : console, 브라우저, 웹 페이지 -> 화면 구성 -> 사용자가 입력한 모든 값에 대해서 유효성 검사 Model과 View를 직접 잇는 것은 유지보수에 대해 불리하다. >> 양측이 다 불편해지는 상황 발생 >> 이 둘을 이어주는 친구 : Controller Controller------------- Mo..
수업 - 오늘로 자바의 내용 끝!!!!! 자바가지고 헤매는 일은 없어야 할 것 찐찐찐막 여기에 쓰여있는 것은 틀리면 안된다!!!!! ★ 주석 - 잘 달 것!!! ★ 줄 정렬 잘 할것! ★ 잘 안풀린다? >> 무조건 스도코딩 ★ 했는데 잘 안풀린다? >> 디버깅표 / 그림 잘 활용할 것 ★ (정렬, 탐색, 랜덤값 중복제거) >> 확실하게 하고 가자! >> 많이 사용된다. ★ 오버로딩, 오버라이딩 ★ OOP 특징 4가지 1. 추상화 2. 상속 3. 캡슐화 4. 다형성 ★ Object ★ 추상클래스, 인터페이스 >> 오버라이딩 강제하는 것 ★ 컬렉션 프레임워크 ArrayList, Map(웹개발) Map도 잘 잡아두어야 한다!!! ★ 예외처리 -> 캡쳐 + 구글링 + 포스팅 >> 예외 발생 시 바로 이동 ★ *..
[6/27 시험과 관련된 수업] [forEach문] 원래 index로 접근해 출력하는 방법 밖에 없었다. 근데 forEach문은 단번에 출력하는 것을 가능하게 해준다 data의 값을 잠시 받아오는 일시적 공간을 만들어 사용 이 scope가 끝나면 메모리 해제 콜론 하나로 영역을 두개로 나눈다 데이터의 집합이면 어떤것이든 사용 가능 v++과 같은 것이 숫자에 영향을 끼치지 않는다! [이터레이터] Iterator itr = al.iterator(); -> 복사체 모든 데이터 집합이면 사용 가능 iterator라는 메서드는 iterator가 나오는 값, 이름의 클래스(자료형)존재 ex) while(itr.hasNext()) { System.out.println(itr.next()); } ------------..
[예외와 예외처리] 정수만 입력해야 하는데 문자를 입력해서 뜨는 빨간 글을 막을 방법 없나요? >> 없다.. >> 이것을 예외(Exception)이라고 한다!! - 예외란? >> 문법상으로는 문제가 없었는데, 실제로 수행해보니 발생하는 문제! >> 실행중에 예외가 발생하게 되면 프로그램이 즉시 종료!! > 이때 지연(delay)와 종료는 완전 다르다! >> 예외가 발생하면 프로그램이 즉시 종료되기에 개발자들에게 개빡치는 상황 발생...ㅋㅋㅋ; > 이 때 예외처리를 해주어야 한다 - 예외처리의 목적 >> 프로그램이 즉시 종료되는 현상을 방어!! ※ 예외발싱 시 할 일 ※ 1. 어떤 타입의 예외인지 파악(예외도 클래스화 되어있다!) 2. 예외가 왜 발생했는지 원인을 파악할 것! -> 설명 참고해볼것 ex )..
[오늘 수업] [ 컬렉션 프레임워크 ] ㄴ> 프레임워크 : 틀, 뼈대 - 제작자의 편의성이 증가된다. >> 만드는 사람이 편하다!(개발자를 위한 것) - 틀과 뼈대를 기업이 제대로 제공해주면? >> 유지보수가 용이하다 - 제작자들의 실력이 상향평준화가 된다. >> 좋은 틀(프레임워크)이 잡혀있으면(제공받으면) 그 틀을 제작자(개발자)가 배운다 >> 배우면서 제작자(개발자)의 실력이 증가한다. >> 프레임워크의 "사용법"이 중요하다!(써먹는 법이 중요) : 언제, 어떻게해야 효율적으로 사용하는지를 연구하는 것이 중요 : 메서드 자체를 공부하는 것이 아니다!! >> 언제 사용해야하는지? 어떻게 사용해야하는지? 등을 연구하는 것이 중요하다! ex ) List, Map, Set(집합), Stack(자료구조), ..
[오늘 수업] [동적바인딩] 예제 package class01; class Point{ int x; int y; void move(int x, int y) { this.x = x; this.y = y; System.out.println("위치변경완료!"); } Point(){ this(0,0); } Point(int x, int y){ this.x = x; this.y = y; } @Override public String toString() { // 색도 같이 나와야 함 return "(" + this.x + ", " + this.y + ")"; } } class ColorPoint extends Point{ // 멤버변수 + 생성자 마치기 String color; void move(String col..
[지난 수업] + 과제 강사님 방법 누적금액의 제한 = limit package class01; // 1. 요구사항(조건)을 파악 class Card{ // extends Object String name; // 이름 int money; boolean flag; int limit; void pay(int money) { if(this.flag && this.money + money > this.limit) { // 뉘양스 차이 + 이렇게 표현해주는 것이 좋다. // 제한금액이 있고 제한 금액을 넘길 경우 this.alert(); return; // 함수 즉시 종료 } // A만큼 결제해야하고, // 총 누적 사용량(B)에 더해서 새로 저장 // B = B + A => B += A this.money +=..