반응형
# 학습내용 정리.
## 클래스 (class)
- 자료형 측면 (DataType) : 새로운 자료형을 만드는 도구(설계하는 도구 = 모델링 도구)
- 객체지향 측면 (OOP) : 객체의 상태정보와 행위정보를 추출하여 캡슐화 하는 도구.
- class를 Model 이라고 부른다. (역할이 정해지므로)
### 우리가 만드는 Model 의 종류. (아래와 같이 크게 3가지 종류를 만들게 됨)
1. DTO (Data Transfer Object)
- 데이터 구조, 데이터를 담는 역할, 이동하기 위해 데이터를 담는다.
- VO (Value Object) : 객체를 담아서 하나의 값(덩어리)으로 취급한다는 의미.
2. DAO (Data Access Object)
- 데이터를 처리하는 역할(비즈니스 로직), 데이터베이스와 CRUD 하는 역할.
3. Utility (Helper Object) : 도움을 주는 기능을 제공하는 역할 (날짜, 시간, 통화, 인코딩 등)
## 우리가 앞으로 사용하게 될 class (API : Application Programming interface)
1. Java에서 제공해주는 class 들
- String, System, Integer, ArrayList, Map 등
2. 만들어서 사용하는 class 들
- DTO, DAO, Utility
3. 1, 2번에 해당하는 것이 아닌 다른 사람이 만들어서 제공해주는 class 들
- Gson, Jsoup, POI, iText 등
## class (실습)
- API 다운로드 : https://mvnrepository.com/search?q=Gson
- 위 사이트에서 필요한 API 검색하여 jar 파일 다운로드 진행, 그 후 작업중인 디렉터리에 넣어서 사용하면 된다. (주로 lib 폴더에 넣어둠)
- API 사용을 다운로드 받은 jar 파일 적용 방법 : 위해 패키지 우클릭 > Build Path > Configure Build Path > Libraries 탭에서 Classpath 선택 후 Add External JARs 클릭 하여 저장한 jar 파일 주입하여 사용.
import com.google.gson.Gson;
import kr.tpc.BookVO;
import kr.tpc.MyUtil;
//import java.lang.*; //디폴트 패키지(생략)
public class TPC19 {
public static void main(String[] args) {
// 1. 자바에서 제공해주는 class들 -> API
// 문자열 (String)
String str = new String("APPLE");
System.out.println(str.toLowerCase()); // 소문자로 출력하는 메서드.
// 2. 직접 만들어서 사용하는 class 들 -> DTO/VO, DAO, Utility 등.
MyUtil my = new MyUtil();
System.out.println(my.hap());
// 3. 다른 사람(회사)에서 만들어 놓은 class 들 -> API
// Gson -> json : https://mvnrepository.com/ 에서 다운로드 가능.
Gson gs = new Gson();
BookVO vo = new BookVO("갓바의 정석", 35000, "우리출판", 1500);
String json = gs.toJson(vo);
System.out.println(json); // Gson 은 vo라는 객체를 문자열 형태로 바꿔주는 API
}
}
반응형
'인프런 강의 학습 > Java TPC' 카테고리의 다른 글
Java TPC_13일차 상속관계에서 객체생성 방법 (0) | 2022.01.18 |
---|---|
Java TPC_12일차 수평적 구조와 수직적 구조 / 상속 / 오버라이드 (0) | 2022.01.17 |
Java TPC_10일차 메서드 오버로딩 / 동일한 구조와 이질적인 구조 (0) | 2022.01.12 |
Java TPC_9일차 정보은닉 / 잘 설계된 클래스 (0) | 2022.01.10 |
Java TPC_8일차 private 생성자 / class, object, instance 상호관계 (0) | 2022.01.09 |