class, object, instance 상호관계

Kyu·2021년 1월 15일
0

Java 공부기록

목록 보기
10/40

class, object, instance 상호관계

객체생성과정 BookDTO b = new BookDTO(); new 연산자와 생성자메소드 호출
이걸통해서 관계 서로 어떤 관계인지 비교해보자

현실세계의 책을 컴퓨터로 옮기려면 메모리에다가 객체를 생성해야한다

class

객체를 생성하려면 설계해야하고 필요한것을 추리는 그것을 모델링이라 한다. 어쨋든 설계해야한다.
BookDTO안에 필요한 것을 다 집어넣는다. String title, int price... 등등.

참고: 잘설계한다는 것은 메모리 낭비없이 잘 사용하는 것을 말한다.

public class BookDTO() {
	public String title;
	public int price;
	public String company;
	public int page;
}

object

변수에 책이라는 객체를 담기때문에 객체(변수) 인데, 변수를 생략하고 BookDTO b; 를 객체Object라고 한다.
하지만 객체가 생성되지 않았으면 아직 구체적인 객체를 가리키고 있지 않기때문에 추상적이다.

instance

b = new BookDTO(); 라고 하면 b에 주소가 들어간다.
그리고 이제 b가 구체적으로 무언가 가리키고 있기 때문에,
예를 들어 현실세계에서 모두 객체이지만 그것 모두를 객체라 부르지 않고 자동차, 아파트, 자전거..등등 이라고 부른다.
그런거처럼 그래서 b가 무언가 가리키고 있기 때문에
이때에는 그 실체를 코딩세계에서는 인스턴스(번수)(변수를 생략하고)라고 부른다.

객체나 인스턴스나 대동소이하지만 그것을 부르는 시점이 좀 다르다. 인스턴스는 메모리 안의 실체이다. 메모리에 있는 것을, b가 그것을 가리키고 있기떄문에 b를 인스턴스(책(BookDTO))이라고 한다.

그래서 객체생성과정보다 좀 더 정확한표현은 인스턴스생성과정이라고 할 수 있다

DTO Data Transfer Object

DTO라는 개념자체는 바구니라고 생각하면된다
데이터를 하나로묶어서 다른 메소드나 클래스로 이동시킬때 편리하게 사용할수있는 클래스이다.

profile
TIL 남기는 공간입니다

0개의 댓글