class의 설계

강9·2023년 11월 28일
0

Java

목록 보기
45/71
post-thumbnail

📔 [책(Book)]으로 보는 class 예제)


1️⃣ 상태정보 설계

📌 참고링크 : Model

public class BookDTO { // DTO --> 어떻게 설계하는 것이 잘 설계하는 것인가?

    // 1. 모든 멤버를 정보은닉 시킨다. (private)
    // 데이터를 넣고 빼야하니 접근제한자를 넣어줘야함 --> 단, 상태정보는 중요하기에 정보은닉이 필요 (private) **중요**
    private String title;
    private int price;
    private String name;
    private int page;

    // 2. 생략된 메서드(디폴트 생성자 메서드)를 명시적으로 만든다.
    // 객체를 생성해준다 (내부적으로 이루어진다.)
    // 마우스 우클릭 -> 생성(Generate) -> 생성자(Constructor) -> 선택안함(Select None) 클릭
    public BookDTO() {

    }
    
    // 3. 생성자 메서드를 오버로딩하여 객체 초기화 하기
    // 마우스 우클릭 -> 생성(Generate) -> 생성자(Constructor) -> 필요한 파일 전체 선택 -> OK
    public PersonVO(String title, int price, String name, int page) {
    	this.title=title;
        this.price=price;
        this.name=name;
        this.page=page;
    }
  
    // 4. setter method(값 넣기) / getter method(값 얻어오기) 만들기
    // setter, getter 를 자동으로 만드는 방법
    // 마우스 우클릭 -> 생성(Generate) -> getter and setter -> 필요한 파일 전체 선택 -> OK
    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getPage() {
        return page;
    }

    public void setPage(int page) {
        this.page = page;
    }
    
    // 5. toString() 메서드 만들기(값 출력용)
    // 마우스 우클릭 -> 생성(Generate) -> toString -> 필요한 파일 전체 선택 -> OK
   	public String toString() {
    	return title+"\t"+price+"\t"+name+"\t"+page;
    }
}

2️⃣ 변수선언&객체 생성

📌 참고링크 : ↘︎_생성자 메서드란?

public static void main(String[] args) {

        BookDTO b = new BookDTO(); // new(객체 생성 연산자), BookDTO(생성자 메서드)
        
    }

BookDTO b; = 객체변수
b = new BookDTO(); = 인스턴스변수


3️⃣ 멤버 접근(. dot)

📌 참고링크 : ↘︎_dot연산자

public static void main(String[] args) {

        BookDTO b = new BookDTO();
        
        b.setTitle("자바");
        b.setPrice(30000);
        b.setName("홍길동");
        b.setPage(300);

    }

4️⃣ 출력&호출 (parameter passing_Call By Reference)

📌 참고링크 : 매개변수 전달기법

public static void main(String[] args) {

        BookDTO b = new BookDTO();
        b.setTitle("자바");
        b.setPrice(30000);
        b.setName("홍길동");
        b.setPage(300);

        bookPrint(b); // 번지전달기법(Call By Reference)
        
    }
    public static void bookPrint(BookDTO b) {
        System.out.println(b.getTitle()); // 자바
        System.out.println(b.getPrice()); // 30000
        System.out.println(b.getName()); // 홍길동
        System.out.println(b.getPage()); // 300
    }
}
profile
코린이 일기

0개의 댓글