JAVA
190708 class - 생성자 - setter,getter 연습
猫猫
2019. 7. 8. 17:46
반응형
package prj190708;
class Dog{
int zzz;
int yyy;
void setZzz(int zzz) {
this.zzz = zzz;
}
void setYyy(int yyy) {
this.yyy = yyy;
}
int getZzz() {
return zzz;
}
int getYyy() {
return yyy;
}
}
class Bus{
double pp;
double ttt;
void setPp(double pp) {
this.pp = pp;
}
void setTtt(double ttt) {
this.ttt = ttt;
}
double getPp() {
return pp;
}
double getTtt() {
return ttt;
}
}
class Polygon{
float qqq;//8byte 크기 스택에 공간확보 사용가능
float tire;//기본자료형은 이렇게만 가능
Dog o = new Dog(); //자료형(사용자타입)필드
Bus b = new Bus();
Dog dog; // 스택(메모리)에 그냥 변수 선언 4바이트 공간 확보
//주소없이 쓰레기 null값
//사용자정의형(클래스)은 스택(참조변수/주소값)에 주소값이 있고
//힙(heap) 메모리 공간에 Dog 타입의 크기만큼
//공간을 확보하고 stack에 저장되어있는 주소값을 가리키고 있어서
// 닷(.)연산자를 통해 멤버접근 가능
void setQqq(float qqq) {
this.qqq = qqq;
}
void setPolygonDog(Dog o) {
this.o = o;
}
void setPolygonBus(Bus b) {
this.b= b;
}
void setTire(float tire) {
this.tire = tire;
}
float getQqq() {
return qqq;
}
float getTire() {
return tire;
}
int getPolygonDogYyy() {
return o.yyy;
}
int getPolygonDogZzz() {
return o.zzz;
}
double getPolygonBusPp() {
return b.pp;
}
double getPolygonBusTtt() {
return b.ttt;
}
Polygon(){}
Polygon(Dog d){
System.out.println("Dog 불러옴");
}
Polygon(Bus b){
System.out.println("Bus 불러옴");
}
}
public class TestClass0708 {
public static void main(String[] args) {
Dog d = new Dog();
Bus b = new Bus();
Polygon p = new Polygon(d);
Polygon p1 = new Polygon(b);
////////////////polygon을 이용한 참조 변수로 setter에 접근하는데 파라미터로 dog용 참조변수 전달
////////////////polygon을 이용한 참조 변수로 setter에 접근하는데 파라미터로 bus용 참조변수 전달
d.setYyy(3);
d.setZzz(8);
b.setPp(9);
b.setTtt(10);
p.setPolygonDog(d);
p1.setPolygonBus(b);
System.out.println(p.getPolygonDogYyy()+" "+p.getPolygonDogZzz());
System.out.println(p1.getPolygonBusTtt()+" "+ p1.getPolygonBusPp());
}
}
반응형