V - Variable 변수/메서드
D - DataType PDT, UDDT, array, class
A - Assign 대입, 할당
ex ) int a = 10;
int : data type (데이터 타입)
a : variable(변수)
10; : data (데이터)
int a : declaration (선언)
DTO : Data Transfer Object / 데이터를 담은 데이터 구조
VO : Value Object /그 자체로 값
공부할 때 도움 많이 된 블로그!!
https://dandev.tistory.com/entry/JAVA-DTO%EC%99%80-VO-%EC%9D%98-%EC%B0%A8%EC%9D%B4
사용자가 정의한 객체 자료형
-----------------------------> 사용자정의자료형 UDDT (User-defined data types)
기본 자료형 ex) 정수 - short, int . 실수 - float, double. 문자 - Char / 컴파일러에서 기본적으로 제공해주는 자료형
-----------------------------> 기본자료형 PDT
**객체를 만들고 그 공간안에 메모리 데이터를 넣어서 쉽고 안전하게 설계하는것이 좋은 클래스의 정의**
**'객체를 설계한다'는 의미 -> 객체를 만들어서 기억공간을 나누어서 메모리에 저장하는 것!**
예를 들어서 '책'을 구현해본다고 하자. 이 '책'이 객체가 되어야함
책에 들어가는 내용(제목, 가격, 출판사, 페이지 수)들을 class(Book DTO)에 담는다.
public class BookDTO {
public String title;
public int price;
public String company;
public int page
}
'책'이라는 객체를 생성하고 그 객체의 상태 정보를 입력한 코드.
자 이렇게 class 생성!
결론 : BookDTO는 class의 생성자 (객체를 설계하는 도구)
Book DTO b1;
Book DTO b2;
Book Dto b3;
객체를 변수 b1, b2, b3 으로 선언함.
b1, b2, b3 -> 이 객체 변수들이 책이라는 데이터를 담은 object
결론 : b1, b2, b3 는 object
b = new BooKDTO();
추상적인 개념의 객체변수 와 다르게 instance 변수 다.
b 는 BookDTO 라는 구체적으로 무언가를 가리키는 instance 변수라고 부름.
결론 : b 는 instance 변수
예제
import kr.tpc.BookVO;
public class TPC12 {
public static void main(String[] args) {
// 생성자 -> 생성 + 초기화 -> 중복정의 가능
BookVO b1 = new BookVO();
// b1.title="오라클";
System.out.print(b1.title + "\t");
System.out.print(b1.price + "\t");
System.out.print(b1.company + "\t");
System.out.println(b1.page);
BookVO b2 = new BookVO();
System.out.print(b2.title + "\t");
System.out.print(b2.price + "\t");
System.out.print(b2.company + "\t");
System.out.println(b2.page);
BookVO b3 = new BookVO("Pyton", 18000, "대림", 920);
System.out.print(b3.title + "\t");
System.out.print(b3.price + "\t");
System.out.print(b3.company + "\t");
System.out.println(b3.page);
}
}
**인프런 강의 'Java TPC(생각하고, 표현하고, 코딩하고 / 박매일 강사님)'를 듣고 작성 및 발췌 했습니다.
'Java' 카테고리의 다른 글
[JAVA/자바]private 생성자와 static, non-static (0) | 2022.12.11 |
---|---|
[JAVA/자바]변수와 메서드 (0) | 2022.12.11 |
[JAVA/자바]다형성/Polymorphism (0) | 2022.12.10 |
[JAVA/자바]JAVA SE/JDK/JRE/JDK 및 IDE 차이점 -스크랩 (0) | 2022.12.10 |
[JAVA/자바]Upcasting/업캐스팅, Downcasting/다운캐스팅 (0) | 2022.12.08 |