클래스와 객체생성(서로 다른 클래스 선언, 호출)
2023-03-13
하나의 패키지 내에서 서로 다른 클래스를 활용해 새로운 객체를 생성한다
예시)건축도면(클래스)을 기준으로 건물 n개(객체) 생성

건물 짓는 것을 예시 들었다
건축도면(클래스)를 활용하여 건물(객체)를 생성하는데 건물(객체)에는 주소가 생성된다
건물(객체)안에는 주소가있고 주소안에는 data영역과 method영역이 있다
건축도면(클래스)를 활용하여 만든 건물(객체)은 같은도면(클래스)를 사용했지만 각각 주소는 다르다
- 생성된 객체안에 있는 주소를 활용(대입, 변경, 겟팅 등)하려면 어떻게 해야하나?
-해당 주소로 직접 찾아가서 대입, 변경하고 데이터를 가져오려면 또 주소로 찾아가서 데이터를 겟팅하면 된다
실습)실습에서는 회원관리를 하기위한 클래스를 만들어 보았다
각각 용도에 맞는 테이터 타입과 변수를 선언했다.
User 클래스는 main메서드 없는 클래스 생성, AA01클래스는 main메서드 포함 클래스 생성

실행은 AA01 main메서드 포함클래스에서 실행

User class data type으로 u01객체참조변수를 선언하고
User()생성자 메서드로 새로운 객체를 생성하면
새로운 주소가 생성되고 data 영역과 method영역이 생긴다
생성된 주소값을 u01객체참조변수에 할당한다
주소1) 메서드 영역은 없다(데이터 영역만 존재)

u01객체참조변수 주소값 : 주소1
제시된 데이터를 활용했다)

User값 입력).은 주소를 찾아간다

console창)실행결과

Goods값 입력)

console창)실행결과

Order값 입력)
Order o01 = new Order();
o01.ocode = "o001";
o01.pcode = g01.pcode;
o01.uid = u01.uid;
o01.ocount = 5;
o01.oprice = g01.pjungsang;
o01.ototal = o01.ocount*o01.oprice;
o01.oaddress = "만성동";
oPrint(o01);
}
public static void oPrint(Order geto){
System.out.println("주문코드 : " + geto.ocode);
System.out.println("상품코드 : " + geto.pcode);
System.out.println("아이디 : " + geto.uid);
System.out.println("구매수량 : " + geto.ocount);
System.out.println("구매단가 : " + geto.oprice);
System.out.println("결제예정금액 : " + geto.ototal);
System.out.println("받는주소 : " + geto.oaddress);
}
console창)실행결과

- 클래스를 활용하여 객체를 생성하면 객체를 새롭게 생성할때마다 주소도 새로 생성이 된다.
- 객체의 값을 변경하려면 주소값에 접근하면 되고, 객체의 접근하여 데이터를 변경,대입 하거나 가져(겟팅)올 수 있다.
'JAVA' 카테고리의 다른 글
상속, 오버라이딩, 오버로딩, 추상클래스, 인터페이스 (0) | 2023.04.01 |
---|---|
메서드 선언 호출(서로 다른 패키지 서로 다른 클래스, jap와 java) (0) | 2023.03.19 |
메서드 선언 호출(하나의 패키지내 서로 다른 클래스) (0) | 2023.03.19 |
클래스와 객체(스택stack, 힙heap영역) (0) | 2023.03.19 |
메서드 선언 호출(하나의 패키지내 리턴있고 입력없는,있는) (0) | 2023.03.19 |
메서드 선언호출 원리 (0) | 2023.03.19 |
Java 데이터 타입 (0) | 2023.03.19 |
메서드 선언 호출 (하나의 패키지내 리턴없고 입력없는, 있는) (0) | 2023.03.19 |
댓글
이 글 공유하기
다른 글
-
메서드 선언 호출(하나의 패키지내 서로 다른 클래스)
메서드 선언 호출(하나의 패키지내 서로 다른 클래스)
2023.03.19 -
클래스와 객체(스택stack, 힙heap영역)
클래스와 객체(스택stack, 힙heap영역)
2023.03.19 -
메서드 선언 호출(하나의 패키지내 리턴있고 입력없는,있는)
메서드 선언 호출(하나의 패키지내 리턴있고 입력없는,있는)
2023.03.19 -
메서드 선언호출 원리
메서드 선언호출 원리
2023.03.19