코딩공부/Java

03. PDT VS UDDT

잉옐잉 2021. 7. 20. 22:26

기본 자료형(PDT)

컴파일러에서 기본적으로 제공해주는 자료형으로, 앞선 글에 작성했다.

그 종류와 쓰임새가 정해져있는 자료형이다.

https://ganzicod.tistory.com/4

 

02. 변수, 자료형, 할당

변수 데이터를 저장할 메모리 공간의 이름 자료형 변수의 크기, 변수에 저장될 데이터의 종류를 결정하는것 정수 자료형 byte ex short 2 10,200 int 4 long 8 실수 자료형 byte ex float 4 3.7f double 8 23.48..

ganzicod.tistory.com

 

사용자 정의 자료형(UDDT)

객체 자료형으로 불리기도 한다.

사용자가 원하는 형태의 자료형을 직접 설계해서 사용하는 방식이다.

 

UDDT를 사용하기위해서는 우선 class를 생성해야한다.

이 생성자 함수가 객체를 메모리에 생성해주는 역할을 한다.

생성자 메서드에서 객체가 메모리에 만들어짐과 동시에 자기 자신을 가르키는 this라는 객체도 하나 만들어진다.

 

 

객체 자료형의 예시로 BookDTO라는 class를 만들어보았다.

예시에서 볼수있듯이, 클래스 안에서 public 자료형 변수명 의 형태로 원하는 변수들을 생성할수있다.

 

또한 class의 하단엔 기본생성자(Default constructor)가 생략되어있다.

Public BookDTO(){
	super(); //자신의 생성자에서 부모의 생성자를 호출해준다.
}

 

 

BookDTO클래스를 사용하기위해선 new를 이용해 객체생성을 해야한다.


package kr.bit;
// 책(객체) -> 제목, 가격, 출판사, 페이지수.........(상태정보) + (행위정보:동작:메서드)
public class Book {
	//사용자정의 자료형
	public String title;
	public int price;
	public String company;
	public int page;
}
package kr.bit;
//회원 -> 이름, 나이, 몸무게, 키 ...
public class PersonVO {
	public String name;
	public int age;
	public float weight;
	public float height;
}
import kr.bit.Book;
import kr.bit.PersonVO;
public class TPC03 {

	public static void main(String[] args) {
		
		Book b;
		b = new Book();
		b.title = "이것이 자바다";
		b.price = 30000;
		b.company = "한빛미디어";
		b.page = 1224;
		
		System.out.println(b.title); // 이것이 자바다
		System.out.println(b.price); // 30000
		System.out.println(b.company); // 한빛미디어
		System.out.println(b.page); // 1224

		System.out.print(b.title+"\t");
		System.out.print(b.price+"\t");
		System.out.print(b.company+"\t");
		System.out.println(b.page); // 이것이 자바다	30000	한빛미디어	1224
	
		PersonVO p;
		p = new PersonVO();
		p.name="김랄라";
		p.age=23;
		p.weight=100.2f;
		p.height=180.7f;
		
		System.out.print(p.name+"\t");
		System.out.print(p.age+"\t");
		System.out.print(p.weight+"\t");
		System.out.println(p.height); // 김랄라	23	100.2	180.7
	}

}

package kr.tpc;

public class Book2 {
		public String title;
		public int price;
		public String company;
		public int page;
}
//배열아님. 변수의 자료형이 통일되어있지 않기 떄문.
import kr.tpc.Book2;

public class TPC10 {

	public static void main(String[] args) {
		//int, float, char, boolean -> PDT
		int a;
		a=10;
		
		//Book이라는 자료형을 만들자 -> UDDT
		Book2 b=new Book2();
		b.title="이것이 자바다";
		b.price=30000;
		b.company="한빛미디어";
		b.page=1222;
		
		System.out.println(b.title); //이것이 자바다
		System.out.println(b.price); //30000
		System.out.println(b.company); //한빛미디어
		System.out.println(b.page); //1222
	}
	

}

'코딩공부 > Java' 카테고리의 다른 글

06. 자바 가상머신 (Java virtual Machine)  (0) 2021.09.12
05. 변수와 메서드  (0) 2021.07.29
04. 배열(Array)  (0) 2021.07.21
02. 변수, 자료형, 할당  (0) 2021.07.20
01. Hello Java  (0) 2021.07.20