PDT (기본 자료형)vs UDDT(사용자정의자료형)

Muhly·2023년 3월 18일
0

oop

목록 보기
2/8

✏️PDT (기본 자료형) vs UDDT(사용자정의자료형)

//기본자료형(PDT)
//컴파일러에서 기본적으로 제공해주는 자료형
int a;

//사용자정의자료형(UDDT)
//사용자가 직접 만들어서 사용하는 자료형
StarubucksDTO b; 

oop는 매우 중요하다 여기서 헷갈리면 내가 코딩을하는건지 컴퓨터가 나를 코딩하는건지 모르는 경우가 부지기수

그러니까 차근차근 하겠습니다

이제부터는 우리가 만들어야한다!!!!

스타벅스를 예시로 들어 설명하겠습니다.…왜냐하면 나는 스타벅스를 좋아하기 때이죠..ㅎ tmi

저는 자바 프로그램을 이용하여 스타벅스를 짓고싶습니다.그런데 아차차 변수 설정을 뭘로 해야하죠?int?String?char?엄청나게 고민됩니다.그리고 무작정 건물만 지으면되는게 아니라 어디에 지을지, 돈은 얼마나 필요할지, 필요한 직원수는 얼마인지 등등 많은 변수들이 필요합니다.상상만해도 토나오네요 😅


public class StarBucksDTO{
	public String cafe;//지점
	public int  price;//필요한 가격
	public String company;//계열사
	public int number;//바리스타수
		//public StarbucksDto{
				//		super();//생략된 기본생성자
		}
}

이렇게 고민될때는 설계도가 필요합니다.class란 설계도 한장에 지점, 필요한 가격, 계열사, 바리스타 수를 모두 담을것입니다. 모두 제각각인 데이터 타입들을 한번에 압축설계했습니다.

훨씬 간단해졌죠?그림으로 봅시다!

✏️구조를 알아보자!!!

스타벅스를 짓기 위한 설계도라고 보시면됩니다. 😀

✏️코딩을 해보자!!!

  1. 패키지를 하나 생성합니다.

  2. 클래스1 생성

    package oop;
    
    public class TCP10 {
        public static void main(String[] args) {
            //int.float,char,boolean -> PDT
            int a;
            a = 10;
    
            //스타벅스(StarbucksDTO)라는 자료형을 만들자 -> Class
            //객체생성
            StarbucksDTO b = new StarbucksDTO();
            b.cafe = "스타벅스 제주점";//지점
            b.price = 50000;//필요한 가격
            b.company = "ssg";//계열사
            b.number = 10;//바리스타
    
            System.out.println(b.cafe+"\t");
            System.out.println(b.price+"\t");
            System.out.println(b.company+"\t");
            System.out.println(b.number+"\t");
        }
    
    }

클래스2 생성

package oop;

public class StarbucksDTO {

	public String cafe;//지점
	public int  price;//필요한 가격
	public String company;//계열사
	public int number;//바리스타수

        //디폴트 생성자 메서드(생략)
        public StarbucksDTO(){
            //객체를 생성하는 작업한다.(기계어코드)
            //우리 눈에 보이지 않음
            //이곳에서 객체가 만들어지는 동시에 자기 자신을 가리키는 this가 만들어짐
        }

}
profile
https://muhlysstudynote.tistory.com/-> 블로그 이전하였습니다

0개의 댓글