part01 학습정리 (class, model)

part01 학습정리 (class, model)

class

=> DataType 측면 : 새로운 자료형을 만드는(설계하는) 도구 = 모델링도구

=> OOP(객체지향)측면 : 객체의 상태정보와 행위정보를 추출하여 *캡슐화 하는 도구

=> class 를 Model이라고도 부른다.

* 우리가 만드는 Model의 종류 (이 3가지는 대부분 만들게 되어있다.)

1. DTO(Data Transfer Object) : 데이터 구조, 데이터를 담는 역할, 이동하기위해서 데이터를 담음

VO(Value Object)

2. DAO(Data Access Object) : 데이터를 처리하는 역할 (비즈니스 로직)

데이터 베이스와 CRUD 하는 역할

3. Utility (Help Object) : 도움을 주는 기능을 제공하는 역할 (날짜, 시간, 통화, 인코딩 등...)

* 우리가 앞으로 사용하게 될 class들 : API (Application Programming Interface)

1. Java에서 제공해주는 class들

- String, System, Integer, Map 등...

2. 만들어 사용하는 class들 (DTO,DAO,Utillty)

3. 1,2번이 아닌 다른 사람이 만들어서 제공해주는 class들

- Gson, Jsoup, POI 등...

캡슐화 ??

앞에서 배운적 있음, 캡슐화 = 은닉

getter, setter에서 배운 그 내용임

캡슐화 방법

1. 멤버 변수 앞에 접근 제어자 private를 붙인다. (private: 자기 클래스에서만 접근할 수 있는 것 )

2. 멤버 변수에 값을 넣고 꺼내 올 수 있는 메소드를 만든다 (접두어 set/get을 사용해 메소드를 만든다.)

접근제어자

클래스 접근 제어자

default : 동일 패키지의 클래스(class)에만 인스턴스(객체)를 생성가능하다.

public : 다른 패키지에서 인스턴스(객체)를 생성가능하다.

메소드 접근 제어자

private : 동일한 클래스 안에서만 접근이 가능하고, this를 사용하는 것들은 외부에서 접근 불가능하고, 상속도 안된다.

default : 접근제어자가 없는 형태로 동일한 패키지 안에서만 접근이 가능하다.

protected : 동일한 패키지 안에서 사용가능하고, 다른 패키지라도 상속받은 클래스에는 접근이 가능하다.

public : 모든 객체에서 접근 가능하다.

캡슐화 참고

https://radait.tistory.com/5

from http://bohyeon2.tistory.com/32 by ccl(A) rewrite - 2021-10-12 10:27:27