JAVA 7강_9_★★★model★★★, package

열라뽕따히·2024년 2월 20일

JAVA

목록 보기
48/79

자바 빈(Java Bean)이란?

  • DB에 접근하여 테이블의 특정 컬럼에 값을 저장하거나 저장된 값을 가져올 때 사용하는 클래스

  • Java Bean == DTO(Data Transfer Object) == VO(Value Object)

  • 구성 요소

  1. 멤버변수 - DB 컬럼명 : 접근지정자(private)
  2. setter() : 데이터를 멤버변수에 저장하는 메서드
  3. getter() : 멤버변수에 저장된 데이터를 가져오는 메서드





패키지(package)란?

  • 서로 연관성이 있는 클래스들과 인터페이스들의 묶음을 말함
  • 패키지는 물리적으로 폴더 개념과 유사함.
    패키지는 서브 패키지를 가질 수 있으며 "."으로 구분함
  • import 키워드 : 현재 패키지의 클래스에서 다른 패키지에 있는 다른 클래스를 사용하고 싶은 경우 import 해야 함 (단, 동일한 패키지에 있는 다른 클래스를 사용할 경우에는 생략 가능)
    형식) import 패키지명.서브패키지명.클래스명;
  • import 단축 키 : ctrl + shift + o





<예시>


Member 클래스 생성

=============================코드=============================

public class Member {
	
	/*
	 * 만약 DB 상의 테이블의 이름이 member(회원 테이블) 이라고
	 * 가정했을 때 member 테이블의 구성(컬럼)이
	 * id, pwd, name, age, phone, addr 로 구성이
	 * 되어 있다고 가정을 하면 
	 * 
	 */
	
	// 멤버변수
	private String id;
	private String pwd;
	private String name;
	private String age;
	private String phone;
	private String addr;
	
    // source 메뉴에 setter, getter 클릭하면 자동으로 완성됨
	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 getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
	public String getAddr() {
		return addr;
	}
	public void setAddr(String addr) {
		this.addr = addr;
	}
	
}



다른 패키지의 클래스 내에 model 패키지에 있는 Member 클래스를 사용하고 싶은 경우


=============================코드=============================

import model.Member;

public class Package_01 {

	public static void main(String[] args) {
		
		// model 패키지에 있는 Member 클래스를 사용하고 싶은 경우 (클래스 일부만 입력 후 ctrl+space, import 선택)
		Member member = new Member();
		
		// 회원의 정보를 저장해보자
		member.setId("hong");
		member.setPwd("1234");
		member.setName("홍길동");
		member.setAge("27");
		member.setPhone("010-1111-1234");
		member.setAddr("서울시 구로구");
		
		// 저장된 회원의 정보를 화면에 출력해보자
		System.out.println("회원 아이디 : " + member.getId());
		System.out.println("회원 비밀번호 : " + member.getPwd());
		System.out.println("회원 이름 : " + member.getName());
		System.out.println("회원 나이 : " + member.getAge());
		System.out.println("회원 연락처 : " + member.getPhone());
		System.out.println("회원 주소 : " + member.getAddr());

	}

}

=============================실행=============================



[문제]
회원 수를 키보드로 입력 받고, 회원 수 만큼 회원의 정보를 키보드로 입력 받아서 객체 배열에 저장하고, 저장된 회원의 정보를 화면에 보여주세요
(model 패키지에 있는 Member 클래스 활용)




=============================코드=============================

import java.util.Scanner;

import model.Member;

public class Member_02 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("회원 수를 입력하세요 : ");
		Member[] member = new Member[sc.nextInt()]; 
		
		sc.nextLine();   // ↑의 sc.nextInt로 인해 엔터값까지 인식이 됨 nextLine으로 입력값을 받을 시 작성해야함
		
		// 반복문을 이용하여 회원 수 만큼 Member 객체를 생성 후에 
		// 회원의 정보를 키보드로 입력 받자
		for(int i = 0; i < member.length; i++) {
			member[i] = new Member();  
			
			System.out.print("회원 아이디를 입력하세요 : ");
			member[i].setId(sc.nextLine());
			
			System.out.print("회원 비밀번호를 입력하세요 : ");
			member[i].setPwd(sc.nextLine());
			
			System.out.print("회원 이름을 입력하세요 : ");
			member[i].setName(sc.nextLine());
			
			System.out.print("회원 나이를 입력하세요 : ");
			member[i].setAge(sc.nextLine());
			
			System.out.print("회원 전화번호를 입력하세요 : ");
			member[i].setPhone(sc.nextLine());
			
			System.out.print("회원 주소를 입력하세요 : ");
			member[i].setAddr(sc.nextLine());
			
			System.out.println("========================================");
			
		}
		
		for(int i =0; i < member.length; i++) {
			System.out.println("::::::::::::::::::::::::::::::::::::::::");
			System.out.println("회원 아이디 : " + member[i].getId());
			System.out.println("회원 비밀번호 : " + member[i].getPwd());
			System.out.println("회원 이름 : " + member[i].getName());
			System.out.println("회원 나이 : " + member[i].getAge());
			System.out.println("회원 연락처 : " + member[i].getPhone());
			System.out.println("회원 주소 : " + member[i].getAddr());
		}
		
		sc.close();

	}

}

=============================실행=============================

0개의 댓글