Back/JAVA
자바 빈(Java Bean)과 패키지(package)
시월해
2021. 3. 12. 14:50
* 자바 빈(Java Bean)?
- DB에 접근하여 특정 컬럼(속성)에 값을 저장하거나 저장된 값을 가져오는 자바 클래스.
- Java Bean == DTO(Data Transfer Object) == VO(Value Object)
- 구성요소
1. 멤버변수 - DB 컬럼명 : 접근지정자(private)
2. setter() : 지정자 메서드
3. getter() : 획득자 메서드
* 패키지(package)?
- 서로 연관성이 있는 클래스들과 인터페이스들의 묶음을 말함.
- 패키지는 물리적으로 폴더 개념과 유사함.
- 패키지는 서브패키지를 가질 수 있으며 "."으로 구분함.
- import 키워드 : 현재 패키지의 클래스에서 다른 패키지에 있는
다른 클래스를 사용하고 싶은 경우 import를 해야한다.
(단, 동일한 패키지에 있는 다른 클래스를 사용시에는 생략 가능)
형식) import 패키지명.서브패키지명.클래스명;
기본예제)
package model;
public class MemberDTO {
// 만약 DB상의 테이블의 이름이 member(회원 테이블)이라고 가정했을 때
// member 테이블의 구성(컬럼)이 id, pwd, name, age, address
// 로 구성되었다고 가정을 하면
// 멤버변수
private String id, pwd, name, address;
private int age;
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;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package packages;
import model.MemberDTO;
public class Ex01 {
public static void main(String[] args) {
// model 패키지에 있는 MemberDTO 클래스를 사용하고 싶은 경우
MemberDTO dto = new MemberDTO();
dto.setId("hong");
dto.setPwd("1234");
dto.setName("홍길동");
dto.setAddress("서울시 마포구");
dto.setAge(27);
// 화면에 출력해보자
System.out.println("회원 아이디 >>> " + dto.getId());
System.out.println("회원 비밀번호 >>> " + dto.getPwd());
System.out.println("회원 이름 >>> " + dto.getName());
System.out.println("회원 나이 >>> " + dto.getAge());
System.out.println("회원 주소 >>> " + dto.getAddress());
}
}
package packages;
import java.util.Scanner;
import model.MemberDTO;
public class Ex02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 1. 회원수를 입력 받아서 객체 배열에 회원수를 입력해보자.
System.out.print("회원수를 입력하세요. : ");
MemberDTO[] dtos = new MemberDTO[sc.nextInt()];
// 2. 반복문을 이용하여 회원 수만큼 회원 정보를 키보드로 입력을 받자.
for(int i=0; i<dtos.length; i++) {
dtos[i] = new MemberDTO();
System.out.println((i+1)+"번째 회원의 아이디, 비밀번호, 이름, 나이, 주소를 입력하세요...");
dtos[i].setId(sc.next());
dtos[i].setPwd(sc.next());
dtos[i].setName(sc.next());
dtos[i].setAge(sc.nextInt());
dtos[i].setAddress(sc.next());
}
System.out.println("아이디\t비밀번호\t이름\t나이\t주소");
for(int i=0; i<dtos.length; i++) {
System.out.println(dtos[i].getId() +"\t"+
dtos[i].getPwd() +"\t"+
dtos[i].getName()+"\t"+
dtos[i].getAge() +"\t"+
dtos[i].getAddress());
System.out.println(":::::::::::::::::::::::::::::::::::::::::::::");
}
sc.close();
}
}