on
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