java 2022/02/22(객체지향)

무간·2022년 2월 22일

객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다.


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("=====================");
    }
    
    
}
profile
당신을 한 줄로 소개해보세요

0개의 댓글