평범한 자바 객체(POJO)

Java의 데이터 타입과 예외

Jim White

Java Developer

데이터 타입과 예외 처리 개요

  • 1장
    • 평범한(또는 일반) 자바 객체
    • 래퍼 클래스
    • 패키지 사용
  • 2장
    • 컬렉션 프레임워크
  • 3장
    • 예외와 예외 처리

Java는 데이터와 문제를 어떻게 다룰까요? 이 강좌의 주제입니다.

1 Photo by Mika Baumeister on Unsplash
Java의 데이터 타입과 예외

데이터 구조로서의 자바 객체

  • 자바 객체는 데이터를 저장하고 구성합니다.
    • 사용자 정의 클래스로 생성
  • 데이터는 필드에 저장
    • 애플리케이션의 데이터 "가방" 역할
  • POJO라고 부릅니다
    • Plain ordinary Java object
    • 또는 Plain old Java object
  • 단순한 자바 객체는 데이터를 담고 이동시킵니다
    • 몇 가지 규칙을 따름
    • 로직이 없음

자바 객체(POJO)는 애플리케이션 전반에서 데이터를 담고 옮기는 가방처럼 동작합니다.

1 Photo by Caroline Selfors on Unsplash
Java의 데이터 타입과 예외

Getter와 Setter

  • Getter와 Setter는 public
    • 필드는 private
  • Getter/Setter는 POJO의 데이터를 보호
    • 데이터 캡슐화를 촉진
  • 기본 필드 구현 세부를 숨김
Java의 데이터 타입과 예외

POJO 클래스 가이드라인

  • POJO 클래스는 다음을 권장합니다:
    • public이어야 함
    • 모든 필드에 public getter/setter 제공
      • 필드는 private이어야 함
    • 기본(무인자) 생성자 보유

POJO 클래스는 다음 규칙을 따릅니다

1 Photo by Anastasiya Badun on Unsplash
Java의 데이터 타입과 예외

POJO 금기 사항

  • POJO 클래스는 다음을 지양합니다:
    • 프레임워크에 결합
    • 다른 클래스를 확장
    • 어떤 인터페이스도 구현
      • 일부 경우 Serializable 제외
    • 비즈니스 로직 포함
  • 이 규칙들도 상황에 따라 완화됨
    • 가능하면 POJO를 단순하게 유지

POJO 클래스는 다음 특성을 가져서는 안 됩니다

1 Photo by Anastasiya Badun on Unsplash
Java의 데이터 타입과 예외

Getter

  • Getter 메서드 이름
    • "get"으로 시작(불리는 "is")
    • 필드명으로 끝남
    • lowerCamelCase 사용
    • 예: get + make = getMake
  • 매개변수 없음
  • 필드 값을 반환
  • Getter는 필드 구현 세부를 숨길 수 있음
    private String make;

    public String getMake() {
        return make;
    }
    private short on;

    public boolean isOn() {
      if (on == 0) {
        return false;
      } else {
        return true;
      }
    }
Java의 데이터 타입과 예외

Setter

  • Setter 메서드 이름
    • "set"으로 시작, 필드명으로 끝남
    • lowerCamelCase 사용
    • 예: set + make = setMake
  • 단일 매개변수 사용 - 필드의 새 값
    • this로 필드와 매개변수 구분
  • 반환형은 void
  • 데이터 유효성 검사 가능
    private String make;

    public void setMake(String make) {
        this.make = make;
    }
    private int age;

    public void setAge(int age) {
      if ((age >= 0) && (age <= 120)) {
        this.age = age;
      }
    }
Java의 데이터 타입과 예외

POJO 예시

  • public 클래스
  • private 필드
  • public getter/setter
    • Getter는 필드 값을 반환
    • Setter는 필드 값을 설정
  • 기본/무인자 생성자
public class Car {   // POJO class is public
    private String model;  // Fields are private
    private int year;

    // Default no arg constructor

    // Public getters to access POJO data
    public String getModel() {
        return model;
    }
    public int getYear() {
        return year;
    }
    // Public setters to set POJO fields
    public void setModel(String model) {
        this.model = model;
    }
    public void setYear(int year) {
        this.year = year;
    }
}
Java의 데이터 타입과 예외

Ayo berlatih!

Java의 데이터 타입과 예외

Preparing Video For Download...