DTO ( Data Transfer Object )
- DTO 는 생성자 또는 getter / setter 를 통해 각 프로세스 간에 데이터를 전달하는 객체를 의미한다.
- 다른 메소드는 가지지 않으며 오로지 데이터 전달용도로만 사용되는 객체이다
실습 예제
예제 풀이
package constructor;
public class MainClass03 {
public static void main(String[] args) {
LoginService03 login = new LoginService03();
login.display();
}
}
MainClass03 클래스
package constructor;
import java.util.Scanner;
public class LoginService03 {
// 전역에서 DTO 를 사용해야하기 때문에 선언해둔 뒤 각 메소드에서
// DTO 를 객체화하여 전역에서 사용
private LoginDTO03 d;
private Scanner sc = new Scanner(System.in);
public void display() {
d = new LoginDTO03();
while(true) {
System.out.println("1. 로그인");
System.out.println("2. 회원가입");
System.out.println("3. 탈퇴");
System.out.print(">>> ");
int choice = sc.nextInt();
switch(choice) {
case 1 : logIn(); break;
case 2 : createId(); break;
case 3 : deleteId(); break;
default : System.out.println("다시 선택하세요."); break;
}
}
}
public void logIn() {
String id, pwd;
if(d.getId()==null)
System.out.println("회원가입 먼저 하세요!!!");
else {
System.out.print("아이디 입력 : ");
id = sc.next();
System.out.print("비밀번호 입력 : ");
pwd = sc.next();
idCheck(id, pwd);
}
}
public void idCheck(String id, String pwd) {
if(!id.equals(d.getId()) && pwd.equals(d.getPwd()) == true)
System.out.println("존재하지 않는 id입니다.");
else if(id.equals(d.getId()) && !pwd.equals(d.getPwd()))
System.out.println("비밀번호가 틀렸습니다!!!");
else if(id.equals(d.getId()) && pwd.equals(d.getPwd()))
System.out.println(id + "님 로그인 되었습니다!!!");
}
public void createId() {
String id, pwd;
if(d.getId()!=null)
System.out.println("사용자가 존재합니다. 탈퇴 후 진행하세요!!!");
else {
sc = new Scanner(System.in);
System.out.print("생성할 아이디를 입력하세요 : ");
id = sc.next();
if(d.getId() == null) {
System.out.print("비밀번호를 입력하세요 : ");
pwd = sc.next();
d = new LoginDTO03(id, pwd);
System.out.println(id + "님 회원가입 성공!!!");
}
}
}
public void deleteId() {
if(d.getId() == null)
System.out.println("회원가입 먼저 진행하세요!!!");
else {
d = new LoginDTO03();
System.out.println("회원 탈퇴 완료!!");
}
}
}
LoginService03 클래스
package constructor;
public class LoginDTO03 {
// 멤버변수 선언
private String id, pwd;
// 생성자 선언 및 멤버변수 초기화
public LoginDTO03(String id, String pwd) {
this.id = id;
this.pwd = pwd;
}
// 기본 생성자 선언
public LoginDTO03() {}
// getter / setter 생성
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
LoginDTO03 클래스
( 문자열은 .equals() 메소드로 비교해야 하는데,,,, 비교연산자(==) 로 비교하는 실수를 했음,,,, 다음엔 꼭 기억하기 )
728x90
'국비지원_핀테크' 카테고리의 다른 글
11일차_ [java] Default 접근 제한자 (0) | 2024.02.19 |
---|---|
11일차_ [java] 유용한 클래스 ( 시간 출력, 코드 지연 ) (1) | 2024.02.19 |
11일차_ [java] 생성자 ( Constructor ) (0) | 2024.02.19 |
10일차_ [java] 미니 실습 (0) | 2024.02.16 |
10일차_ [java] this, getter / setter (1) | 2024.02.16 |