💡 1. class 의 정의
class
DataType 측면 : 새로운 자료형을 만드는(설계하는) 도구 = 모델링 도구
OOP(객체지향)측명 : 객체의 상태 정보와 행위 정보를 추출하여 캡슐화 하는 도구(구조화 및 은닉화)
Model : class 를 Model 이라고도 부른다. (역할이 정해지므로)
🔍우리가 만드는 Model의 종류(3가지는 거의 대부분 만들게 되어 있다.)
1. DTO(Data Transfer Object): 데이터 구조, 데이터를 담는 역할, 이동하기 위해서 데이터를 담음
- VO(Value Object) : 객체를 담아서 하나의 값(덩어리)으로 취급한다는 의미다.
2. DAO(Data Access Object) : 데이터를 처리하는 역할( 비지니스 로직), 데이터베이스와 CRUD하는 역할
데이터는 일반적으로 데이터 베이스에 있는데 이 데이터에 Access 해서 CRUD 하는 역할을 해주는 클래스이다.
이러한 DAO 클래스를 '비지니스 로직'을 가지고 있는 객체 라고도 한다.
3. Utility(Helper Object) : 도움을 주는 기능을 제공하는 역할(날짜, 시간, 통화, 인코딩 등)
프로그램을 짜다보면 도움을 주는 기능을 별도로 만들때 주로 사용하며
Utility 클래스 , 헬퍼 클래스, 퍼사드(다용도실의미) 클래스 등등 부른다.
🔍 우리가 앞으로 사용하게 될 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 등
예를들어 Json 데이터 핸들링, 네트워크 연결, 특정 웹사이트 데이터를 뽑아낸다 던가 여러가지 기능을 하는 클래스들을 사용한다.
인터넷에서 다운을 받는다. 자바는 mvnrepository.com 에서 이용이 가능하다.
Maven Repository: Search/Browse/Explore (mvnrepository.com)
💡 코드로 class 정리해보기.
기본적으로 java 를 깔게 되면 자체적으로 제공되는 API 양도 엄청나다.
JRE SystemLibrary에서 java.base 에서 java.lang 만 봐도 엄청나게 많은 기능들의 class가 있는것을 확인할 수 있다.
🔍 String 클래스 알아보기
기존 Java에서 만들어준 String 클래스를 이용해서
String 을 선언하면 str이라는 변수가 생성된 String 객체의 위치 정보를 가지고 있을 것이다.
여기에서 String 클래스에 있는 상태 정보 뿐만아니라
행위 정보(Method)를 알아야 String의 상태를 조작할 수 있을 것이다.
어 그런데 String 클래스를 이용하는데 import를 안해줘도 되나요?😮
원래 String 이나 System 클래스 등을 이용할 때 앞에 가져온 클래스 위치를 기술 해 줘야 한다.
하지만 매번 자주쓰이는 String 과 System 을 이용할 때 마다 이렇게 위치정보를 쓰는건 불편할 것이다.
그래서
java.lang 패키지를 import 해줘야 한다! 하지만!
워낙 자주 쓰이는 String 과 System 등을 제외한 여러가지 기능을 포함한 java.lang 은 default package 라고 생략되어있다.
🔍 Utility 클래스
1부터 넣은 10까지 더한 값을 합해주는 클래스를 만들 수 있다.
🔍 다른회사에서 만들어 놓은 class 들
Maven Repository: Search/Browse/Explore (mvnrepository.com)
G son 을 쓴다고 해보자.
구글에서 만든 API 이다.
여기서 가장 많이 다운 받은 버전을 들어가면
여기서 Jar 파일을 다운받으면 된다.
나중에 spring 프레임 워크를 사용하면 maven 이나 gradle은 depency 를 사용하는데 그때는
글을 통해서만 이용이 가능하다.
이 파일을 작업공간이 모여있는 폴더 내에 들어가서
lib 폴더를 만들어서 넣어둔다.
Java Build Path 에 Libraries 에 classpath를 클릭하고 Add External JARs 를 클릭해준다.
원하는 곳에 Gson을 임포트하고 해당 클래스를 사용할 수 있다.
기존에 있단 BookVO 생성자를 이용해서 객체를 만들어서 정보를 저장하고
그것을 Gson 이라는 객체의 toJson 이라는 메서드에 넣어서 json String 변수에 저장해서 출력하면
객체를 Json 이라는 형태로 만들어 줬다.
Json 은 객체를 문자열의 형태로 만든 문자열 형태이다.
key : value key : value key value 형태로 이루어져 있는 형태이다. 주로 전송할 때 많이 쓰인다.
Java 관련 개념을 알려주실 때 그 내부 동작이 어떻게 구현되는지 자세하게 알수 있는 강의입니다.
출처: Java TPC (생각하고, 표현하고, 코딩하고) 대시보드 - 인프런 | 강의 (inflearn.com)
'Java > Java 활용 개념 정리' 카테고리의 다른 글
[Java] 객체 지향의 꽃! 다형성(message polymorphism) (0) | 2023.02.04 |
---|---|
[Java] 재정의(Override) (0) | 2023.02.03 |
[Java] 메서드 오버로딩(Method Overloading) (0) | 2023.02.02 |
[Java] 잘 설계된 클래스(객체) (0) | 2023.02.02 |
[Java]class, object, instance 상호 관계. (0) | 2023.02.02 |
댓글