본문 바로가기

분류 전체보기

(71)
[WEB]DAY21_MVC(소프트웨어 디자인 설계 패턴) MVC (소프트웨어 디자인 설계 패턴) 1. 기본 생성자를 반드시 만든다. 2. 모델단 객체들은 모두 private접근자를 작성해준다. (Jsp, Spring에서는 변수에 직접 접근할 수 없고 메소드로만 가져올 수 있다. 그래서 getset으로 가져와야함.) 3. getter(),setter()메소드는 public접근자로 작성해준다. Model : DB에서 가져온 값을 담는 객체들의 집합소 클래스명DTO.java 클래스명VO.java View : 사용자에게 보여지는 부분을 작성하는 곳 Controller : DB에 접근하여 사용자의 요청에 맞는 결과를 도출해내주는 메소드들의 집합소 보통 return타입에 Model타입이 포함된다. 클래스명DAO.java - model1 : 한 페이지 안에 view와 co..
[WEB]DAY20_Set(HashSet), Map(HashMap) Set : Set은 집합이다. 중복되는 원소를 포함할 수 없다. 값을 중복해서 저장할 수 없다. 저장된 값들은 인덱스가 없기 때문에 순서가 고정되어 있지 않다. - 구현 클래스 HashSet Set타입은 값의 유무 검사이다. 따라서 순서는 필요하지 않다. 만약 안에 있는 값을 가지고 오고 싶다면 각 값에 순서를 부여해주어야 한다. 바로 이 작업을 iterator()가 해준다. - Set을 사용하는 이유 Set은 검색의 목적이 있기 때문에 순서정보를 관리할 필요가 없다. 따라서 데이터 크기에 상관없이 검색에 걸리는 시간이 매우 짧다. 반면 List는 인덱스를 관리해야하기 때문에 상대적으로 시간이 오래 걸린다. 그러므로 기능적 차이가 없다면 HashSet을 사용한다. - iterator으로 순서를 부여하고,..
[WEB]DAY19_Wrapper 클래스, 빠른 for문, 제네릭(Generic), 컬렉션 프레임워크(Collection Framework) Wrapper클래스 : 기본형 타입을 클래스 타입으로 사용하는 방법 - 박싱(Boxing) 기본형 타입 > Wrapper 클래스 - 언박싱(Unboxing) Wrapper 클래스 > 기본형 타입 jdk1.5버전부터는 오토(auto)가 지원된다. - Wrapper 클래스를 사용하는 이유 ① 변수를 객체로 만들기 위해 ② 필요한 메소드를 사용하기 위해 package day19; public class WrapperTest { public static void main(String[] args) { int data = 10; //Auto Boxing Integer i_data = data; //Auto Unboxing data = i_data; //int data = 10; // ////Boxing //Int..
[WEB]DAY17_SVN, 설계 패턴 SVN(형상관리 시스템) Help > eclipse Marketplace > svn 검색 > team ~ - > 모두 체크 후 설치 window > Preferences > Team > SVN > SVN Connector > Get Connectors >SVN kit 1.8.14 체크 후 설치 SVN server 설치 구글에 visual svn 검색 > 첫 번째 사이트 > VisualSVN server 64bit 다운 (https://www.visualsvn.com/server/download/) 실행 후 맨마지막줄 무조건!! 체크된 상태로 다음단계. 파일이름에 공백 없이 만들기 ============================================== * 커밋하기 전 완료된 작업은 메모장에 반..
[WEB]DAY16_마크 인터페이스, 예외처리, API, Javadoc, Object 클래스 Mark Interface(마크 인터페이스) : 클래스들의 그룹화 목적으로 표시를 하여 사용하기 위한 목적 인터페이스는 지정하는 순간 클래스의 부모가 되며 타입으로 인식된다. 따라서 instanceof를 사용하여 공통그룹인지를 확인할 수 있게 된다. (마크 인터페이스는 건들면 x!! ) 삼성 현대 롯데 두산 자동차 자동차 제과 출판사 건설(Build) 건설(Build) 시네마 건설(Build) 중공업 화학 건설(Build) 중공업 전자 제과 월드 화학 예외처리(Exception) - 예외 : 덜 심각한 오류 - 에러 : 심각한 오류 : 제어문으로 처리할 수 없는 오류를 처리할 수 있는 방법 try{ 예외가 발생할 수 있는 문장; }catch(예외이름 객체명){ 예외발생시 실행할 문장; } try{ 예외가..
[WEB]DAY15_ 다중 상속, 내부 클래스, 익명 클래스 다중 상속 : JDK8버전이후부터는 사실상 다중상속이 지원된다. 바로 인터페이스에서 일반 메소드를 선언할 수 있기 때문이다. 하지만 반드시 접근자는 default로 설정해주어야 한다. ① 두 개이상의 인터페이스에 동일한 이름의 필드를 지정받은 클래스에서 사용하고자 할 때에는(모호성) 재정의를 해서 사용한다. ② 부모 클래스와 인터페이스에 동일한 이름의 필드가 있다면 부모 클래스가 우선 사용된다. 만약 인터페이스의 필드를 사용하고자 할 때에는 재정의 후 인터페이스명.super.필드명()으로 호출하여 사용한다. 내부 클래스 : 하나의 클래스 안에 여러 기능들이 섞여있다면 각 기능들을 클래스로 분리해야 관리하기 쉽다. 하지만 다른 클래스로 만들게 되면 상속도 해주어야하고 오히려 관리하기 더 어려워질 수 있다...
[WEB]DAY14_추상 클래스, 인터페이스 추상 클래스 : 필드 안에 추상적인(미구현인) 메소드가 있는 클래스를 의미한다. 구현된 일반 메소드는 바디가 있지만 미구현된 메소드는 바디가 없다. 이 메소드를 추상 메소드라 하고, 추상메소드가 있는 클래스를 추상 클래스라고 한다. 추상클래스를 객체화한다면 생성자 뒤에 중괄호 영역이 열리게 되고 그 안에서 추상 메소드를 구현해야 메모리에 필드가 할당된다. 부모의 메소드를 골라서 재정의하고자 할 때에는 일반 메소드로 선언. 부모의 메소드를 반드시 재정의해야 할 때에는 추상 메소드로 선언. 부모의 메소드를 재정의하지 못하도록 할 때에는 상수 메소드로 선언. - 메소드는 저장공간이므로 리턴타입 앞에 final키워드를 붙인다. - 메소드 안의 코드 주소값을 변경할 수 없기에 재정의 불가능. 추상 메소드 : 선언..
[JAVA]DAY13_casting, instanceof casting up casting : 부모타입에 자식값이 들어가는 기법 down casting : 자식타입에 upcasting된 객체가 들어가는 기법 instanceof : 객체가 클래스타입이면 참, 아니면 거짓 즉, 조건식이다. - 객체명 instanceof 클래스명 "ABC" instanceof Character : false 10.64 instanceof Double : true