💡 1. 기본자료형(PDT) VS 사용자 정의 자료형(UDDT)
기본 자료형은 정수, 실수, 문자, boolean 등으로 이루어 져 있다.
보통 회사에서 사용할 업무용 sw 를 만든다고 할 때 그 회사에서 필요한 자료형으로 관리하는 것이 보통이다.
그 필요한 자료형은 사용자가 정의하는 자료형으로 해당 내용 구성을 사용자가 직접 구성 할 수 있다.
우리가 업무에서 써야하는 것은 보통 UDDT이고 이러한 자료형을 객체자료 라고 한다.
이러한 객체를 만들어서 사용하고. 그것을 만드는 도구는 class 이다.
우리가 int 를 선언해서 사용한다고 하자. 그러면 바로 int 라는 공간을 만들고 a 라는 변수를 선언할 수 있다.
하지만 Book이라는 사용자 정의 타잎을 만들고자 할때 우리는 바로 선언해서 사용하지 못한다.
BookDto 라는 클래스를 만들어야만이 BookDto라는 자료형을 쓸 수 있다.
💡 2. 객체 생성 과정
BookDTO 는 4개의 변수가 클래스 안에서 하나의 덩어리 형태로 만들어 져 있다.
기억공간 여러개를 하나의 덩어리로 뭉처 있는 이러한 형태를 객체 라고 한다.
이렇게 Class를 통해서 객체를 설계 해준 후에 이러한 객체를 생성해 주기 위해서 new 연산자를 이용한다.
새로운 자료형을 만들어 쓸려면 class 로 새로운 자료형을 설계를 해준다.
실제로 이러한 구조가 메모리에 만들어 져야 하기 한다.
즉 new 를 통해 객체를 생성해 준다.
new(객체를 생성하라는 명령어)와 BookDTO() 라는 생성자 메서드를 이용해서 객체를 생성해준다.
메서드라고요? 위에 BookDTO에 메서드가 없던데요??

우리가 class 를 통해서 객체를 설계하게 되면
그 안에 내부의 각종 정보를 만들어 낼 수 있는 생성자 함수가 생략이 되어있다.
이 생성자 함수가 있어야 객체를 메모리에 만들 수 있다.
생성자 메서드는 클래스 이름과 동일하고 return 타입이 없는 특징을 가지고 있다.
이러한 생성자 메서드는 내부적으로 클래스에 선언한 정보를 메모리에 만들도록 설계되어있다.
이렇게 생성자 함수로 선언한 메모리에 객체의 번지(주소)값을 b 가 받는다.
b라는 객체가 만들어 져 있고 BookDto의 번지수를 포함하고 있다!
또한 객체가 메모리에 만들어지면 동시에 this 라는 자기 자신을 가르키는 변수 또한 만들어 진다.
💡 3. 코드로 보는 객체 생성과정
BookDTO라는 클래스를 만들면 밑에 생성자 메서드가 생략되어 있다.
BookDTO 생성자 메서드를 통해 메모리에 객체가 생성되며
동시에 자기자신을 가르키는 this 라는 객체가 만들어진다
만든 클래스가 TCP10 클래스 외부에 있으므로 Import 해준후
new 라는 객체 생성 명령어와 BookDto(생성자 메서드)를 통해서 객체를 만들어 주고
해당 번지수를 b 에 담아준다. ( 만듬과 동시에 this 라는 자기자신 가르키는 객체도 생성)
그리고 해당 번지수의 객체 정보를 접근하거나 이용하고자 할때 만든 인스턴스 변수에
. 을 찍어서 이용이 가능하다.
Java 관련 개념을 알려주실 때 그 내부 동작이 어떻게 구현되는지 자세하게 알수 있는 강의입니다.
출처: Java TPC (생각하고, 표현하고, 코딩하고) 대시보드 - 인프런 | 강의 (inflearn.com)
'Java > Java 활용 개념 정리' 카테고리의 다른 글
[Java] private 생성자와 static의 관계 (0) | 2023.02.01 |
---|---|
[Java] 객체 생성 과정(new, 생성자 메서드, this) + 초기화 (0) | 2023.02.01 |
[Java] JVM의 Memory 활용 개념(static 유무의 차이) (0) | 2023.01.31 |
[Java] 메서드도 변수이다. (0) | 2023.01.31 |
[Java] 기본 자료형과 사용자 정의 자료형 (0) | 2023.01.30 |
댓글