객체지향 설계 원칙(SOLID)객체지향 기술은 어느 날 한 번에 만들어진 것이 아니다. 오랜시간에 걸쳐 점진적으로 발전 해온 기술이다.때문에 객체지향 기술을 받아들이고 적용하는 관점과기법에 차이가 조금씩 있다. 객체지향 설계 원칙은 객체지향의 특징을잘 살릴 수 있는 설계의 특징을 말한다.예외는 있겠지만 대부분의 상황에 잘 들어맞는가이드라인과 같은 것이다.디자인 패턴은 특별한 상황에서 발생하는 문제에 대한 좀 더 구체적인솔루션이라고 한다면 객체지향 설계 원칙은 좀 더 일반적인상황에서 적용 가능한 설계 기준이라고 볼 수 있다. 높은 응집도와 낮은 결합도응집도가 높다는 것은 하나의 모듈, 클래스가 하나의책임 또는 관심사에만 집중되어 있다는 것. 높은 응집도응집도가 높다는 것은 변화가 일어날 때 해당 모듈에서변..
이번엔 포워딩에 대하여 알아보겠습니다. 내가 어떠한 요청을 받았을때그것을 내가 직접 처리하지않고다른쪽으로 위임할때 포워딩 이라고한다 포워딩은 우리가 JSP 서블릿에서2가지 클래스를 이용한다RequestDispatcher 클래스와HttpServletResponse 클래스를 이용한다 먼저 RequestDispatcher 클래스에대해 알아보자이 클래스는 요청 받은 요청객체(request)를 위임하는컴포넌트에 동일하게 전달 할 수 있다. 직접 테스트를 해보겠습니다먼저 request.java 이름의 서블릿과dispacher.jsp 파일 만들어줍니다 1234567891011121314151617181920212223242526272829303132333435363738package com.jsp.ex; import..
JSTL 이란? JSP의 경우 HTML 태그와 같이 사용되어 전체적인 코드의가독성이 떨어진다.그래서 이러한 단점을 보완하고자만들어진 태그 라이브러리가JSTL 이다JSTL의 경우 우리가 사용하는Tomcat 컨테이너에포함되어 있지 않아별도의 설치를 해서 사용해야합니다 설치를 해보도록 하겠습니다.먼저 jakarta.apach.org 들어가줍니다다음 아래 이지미 순서대로해주시면 됩니다 -- - -다운받은 파일의lib 속에 jar 파일 2개를아래와 같이 이클립스 프로젝트lib안에 복사 붙여넣기해주시면 됩니다 JSTL 에서는 다섯 가지의라이브러리를 제공합니다 이중 제일 중요한 Core lib 에 대해 알아보자 Core 라이브러리는 기본적인 라이브러리로출력, 제어문, 반복문 같은기능이 포함되어 있다이 라이브러리르 사..
EL(Expression Language)란 표현식 또는 액션 태그를 대신해서 값을 표현하는 언어입니다 테스트 해보겠습니다. 또한 EL 표현으로 연산도 가능합니다 실행시켜 보면 아래와같이연산이 정상적으로 되는것을확인할수 있습니다. 또한 EL 표현은 액션태그로사용 될수도 있습니다간단하게 테스트 해보겠습니다 아래와같이 액션태그로도사용해서 정상적으로출력되는것을 확인할수 있습니다
문자열 토큰의 구분 컴퓨터 프로그램상에서는 문자열 데이터의분석이 필요한 상황이 흔히 등장한다.따라서 이러한 경우에 유용하게 사용할 수있는 StringTokenizer 클래스를 알아보자 예를 들어 아래와같은 문자열이존재한다고 생각해보자"08 : 45""11 : 24"이 둘은 시간정보이다. 시 정보와 분 정보는 콜론을 기준으로 나눠져 있다.즉 위의 문자열에서는 콜론이 구분자 이다그리고 구분자를 기준으로 나뉘어 있는문자열 정보를 가리켜 "토큰" 이라 한다 콜론을 기준으로 토큰을 추출하는 프로그램을작성하는 일이 생기면 굉장히 어렵다.하지만 StringTokenizer 클래스를이용한다면 간단한 일이 되버린다.이 클래스의 중심이 되는생성자는 아래와 같다public StringTokenizer(String str, ..
static변수 인스턴스 변수의 선언 앞에 static 선언이 오면 한클래스의 모든인스턴스가 static 변수를 공유한다. 빠른 이해를 위해 소스로 확인해보자 12345678910111213141516171819class Inst{ static int instNum = 0; public Inst() { instNum++; System.out.println("인스턴스 생성 : " + instNum); }} class ClassVar{ public static void main(String[] args) { Inst inst1 = new Inst(); Inst inst2 = new Inst(); Inst inst3 = new Inst(); }}Colored by Color Scriptercs 위 프로그램을 ..
이번엔 (13)포스팅에서 알아본DAO, DTO를 사용해회원인증 프로그램을 만들어보겠습니다. 먼저 파일들을 생성해 보겠습니다.패키지안에 MemberDAO.java, MemberDTO.java클래스 생성해 주도록 하겠습니다 다음 WebContent에 아래와같은파일들 생성하겠습니다js 파일은 file 생성후.js 붙여 주시면됩니다 다음 디벨로퍼에서 테이블 생성해주도록하겠습니다 이제 join 화면 먼저 보겠습니다 12345678910111213141516171819202122Insert title here 아이디 : 비밀번호 : 비밀번호 확인 : 이름 : 메일 : 주소 : Colored by Color Scriptercs join화면에서는 아이디, 비밀번호, 비밀번호확인,이름, 메일, 주소 form 태그만들어줬..
이번 글 은 메소드 오버로딩에 대해알아보겠습니다. 메소드 오버로딩은 대부분의 객체지향 언어가지원하는 문법적인 요소입니다이로 인해서 자바에서는 동일한이름의 메소드를 둘 이상 정의할 수 있습니다. 매개변수의 형(type)이 다르거나 개수가 다르거나 기본적으로 동일한 이름의 메소드는정의가 불가능하다고 생각할 것입니다.하지만 매개변수의 선언형태가 다르면동일한 이름의 메소드를 정의할 수 있습니다. 이를 가리켜 메소드 오버로딩이라고 합니다다음은 메소드가 오버로딩 된 예를 보여드리겠습니다 위의 클래스에는 총 세 개의 Func 메소드가정의되어 있습니다. 이렇게 하나의 클래스 안에세 개의 메소드가 정의될 수 있는 이유는 세 메소드상호간에 매개변수의 자료형, 매개변수 개수가다르기 때문입니다. 그렇다면 이렇게 동일한 이름의..