객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다.
App.java 는 db와 view의 컨트롤 담당함
파일명 App.java
package com.example;
import com.example.view.Print1;
import com.example.vo.Item;
// import com.example.vo.Member;
// import com.example.view.Print;
// // ctrl + space로 생성
// import com.example.vo.Board;
public class App {
public static void main(String[] args) {
// const arr = [{},{}]
// 빈것 2개 만들기
Item[] arr = new Item[2];
// 2개의 물품을 보관
for(int i=0; i<arr.length; i++){
arr[i] = new Item();
arr[i].setNo(i+1);
arr[i].setName("가나다");
arr[i].setPrice(2000);
arr[i].setQuantity(200);
}
// Print1객체 생성, 2개의 물품정보 전달
Print1 obj = new Print1();
obj.setItem(arr);
// 실제 프린트 수행
obj.printAction();
}
}
// // console.log("Wow"); 와 같은것
// // 변수의 타입을 꼭 입력해주어야 함
// int a =1; // 정수 1을 a변수에 넣음
// float b = 1.5f; // 실수 1.5를 b변수에 넣음
// char c = 'a'; // 문자 1개 a를 c변수에 넣음
// String d = "hello"; // 문자열 hello를 d변수에 넣음
// // 1. const obj = { a:1, b:1.5, c:'a', d:"hello" } => object (객체)
// // 2. const arr = [{},{},{}]
// // 출력
// System.out.println("a변수 값은 : " + a);
// System.out.println(b);
// System.out.println(c);
// System.out.println(d);
// // 1. 클래스명 객체명 = new 클래스명(); 객체 생성
// Member obj = new Member();
// int a = obj.getAge();
// System.out.println(a);
// // 2. 필요한 값 세팅
// obj.setId("aaa");
// obj.setName("bbb");
// // 3. 현재까지 추가되어있는 값을 확인
// System.out.println(obj.toString());
// // 1. 게시판 데이터를 추가함
// Board obj = new Board();
// obj.setNo(1);
// obj.setTitle("제목1");
// obj.setWriter("작성자2");
// obj.setHit(100);
// obj.setContent("내용1");
// // 2. 프린트하기
// Print obj1 = new Print();
// obj1.setBoard( obj ); // 준비물 전달단계
// obj1.printAction(); // 실제 프린트 수행시킴
파일명 /vo/Item.java
package com.example.vo;
public class Item {
// 물품번호, 제목, 가겨, 수량
private long no = 0;
private String name = null;
private int price = 0;
private int quantity = 0;
public long getNo() {
return no;
}
public void setNo(long no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
@Override
public String toString() {
return "item [name=" + name + ", no=" + no + ", price=" + price + ", quantity=" + quantity + "]";
}
}
파일명 /view/print1.java
package com.example.view;
import com.example.vo.Item;
public class Print1 {
// 물품 여러개 보관
private Item[] items = null;
// 2. getter /setter
public Item[] getItems() {
return items;
}
public void setItem(Item[] items) {
this.items = items;
}
// 4. method
public void printAction(){
// [{},{}]
for(int i=0;i<this.items.length;i++){
System.out.println("===================");
System.out.println(this.items[i].getNo());
System.out.println(this.items[i].getName());
}
}
}
파일명 /vo/Board.java
package com.example.vo;
// 파일명 : Board.java
public class Board {
// 1. 변수설정 (ERD 다이어그램에서 참고해서)
// 글번호, 제목, 내용, 작성자, 조회수,
private long no = 0;
private String title = null;
private String content = null;
private String writer = null;
private int hit = 0;
// 2. getter/setter
public long getNo() {
return no;
}
public void setNo(long no) {
this.no = no;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public int getHit() {
return hit;
}
public void setHit(int hit) {
this.hit = hit;
}
// 3. toString()
@Override
public String toString() {
return "Board [content=" + content + ", hit=" + hit + ", no=" + no + ", title=" + title + ", writer=" + writer
+ "]";
}
}
파일명 /view/print.java
package com.example.view;
import com.example.vo.Board;
// 출력하는 곳
// jsp, vue, react로 전환될 영역
public class Print {
// 1. 변수 만들기
private Board board = null;
// 2. setter/setter
public Board getBoard() {
return board;
}
public void setBoard(Board board) {
this.board = board;
}
// 4. 메소드(실제업무 게시판 정보가 오면 글번호, 제목을 출력하는 일)
public void printAction(){
System.out.println("=====================");
System.out.println(this.board.getNo());
System.out.println(this.board.getTitle());
System.out.println("=====================");
}
}