JAVA, JSP

DTO, VO

suji0730 2024. 7. 3. 15:37

 

 

1) DTO(Data Transfer Object)

- 순수하게 데이터를 담아 계층 간으로 전달하는 객체이다.

2) VO(Value Object)
- VO는 값 그 자체를 나태는 객체이다. DTO와 반대로 로직을 포함할 수 있으며, VO의 경우 특정 값 자체를 표현하기 때문에 불변성의 보장을 위해 생성자를 사용하여야 한다. VO는 서로 다른 이름을 갖는 VO 인스턴스라도 모든 속성 값이 같다면 두 인스턴스는 같은 객체인 것이 핵심이다.
예를 들어 모두 똑같은 자동차가 색깔만 다르다고 하더라도 이를 별개의 객체로 보는 것이 아니라 하나의 객체(자동차)로 보는것과 같다.

3) 

boolean java.lang.String.equals(Object anObject){}
패키지 : java.lang
클래스 : String
return data type : boolean
메서드명 : equals
입력받을 갯수 : 1개
첫번째 매개변수 data type : Object
첫번째 매개변수명 : anObject
어떤 처리를 할까? 매개변수 anObject에 입력한 값
예)"판매자"와 비교할 문자열 "판매자"가 같으면 true
    "판매자"와 비교할 문자열 "판매자"가 같지 않으면 false
    내가 선언한 메서드가 아니라 라이브러리에서 제공하는 메서드
    나는 호출 후 리턴값이 있으면 리턴값을 받아 응용하고 있다.

4) jsp import
<%@ page import = "kr.or.ksmart.ex.Test" %>

5) Test class 호출
<%
Test t = new Test();
t.a();
%>

 

 

6) 클래스와 객체 아이디어 및 실습결과

권한별 기능 정의 :
학생 클래스를 통해 생성된 객체내 로그인 메서드 선언
무엇을 입력 받을 것인가? 학번
어떤 처리를 할 것인가? 로그인 성공 실패 출력
로그인 메서드 호출 > 학번 비교 처리 >
1.학번이 일치했을 때 로그인 성공
2. 학번이 일치하지 않았을 때 실패 출력

 

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<%@ page import = "student.b.Student"%>
<%@ page import = "student.b.studentPrint"%>
<%@ page import = "java.util.Scanner"%>

<%
	Student st1 = new Student();
	Student st2 = new Student();
	Student st3 = new Student();
	
	studentPrint tt = new studentPrint();
	
	st1.setSid("01");
	st1.setSname("조미희");
	st1.setMajor("컴퓨터공학과");
	st1.setSgender('여');
	st1.setSphone("010-001");
	
	st2.setSid("02");
	st2.setSname("김도영");
	st2.setMajor("경영학과");
	st2.setSgender('남');
	st2.setSphone("010-002");
	
	st3.setSid("03");
	st3.setSname("김수지");
	st3.setMajor("컴퓨터공학과");
	st3.setSgender('여');
	st3.setSphone("010-003");
	
	Scanner scanner = new Scanner(System.in);
	System.out.print("학번을 입력하세요: ");
	String inputSid = scanner.nextLine(); // 사용자로부터 학번 입력 받음
	
	// 입력된 학번과 일치하는 학생 정보 출력
	if (inputSid.equals(st1.getSid())) {
	    tt.studentPrint(st1);
	} else if (inputSid.equals(st2.getSid())) {
	    tt.studentPrint(st2);
	} else if (inputSid.equals(st3.getSid())) {
	    tt.studentPrint(st3);
	} else {
	    System.out.println("학번이 일치하지 않습니다.");
	}
%>