슈퍼클래스(부모)와 서브클래스(자식)관계의 클래스에서 접근 지정자를 private으로 하여 멤버변수의 게터를 이용하여 가져오도록 한다.
public class Main
{
public static void main(String[] args)
{
BusinessMan bMan = new BusinessMan("Jack", "ACompany", "Student");
System.out.println("My name is " + bMan.GetName());
System.out.println("My company is " + bMan.GetCompany());
System.out.println("My position is " + bMan.GetPosition());
}
}
|
cs |
public class Man
{
private String mName;
public Man(String name)
{
this.mName = name;
}
public String GetName()
{
return mName;
}
}
|
cs |
public class BusinessMan extends Man
{
//회사명, 직책
private String mCompany, mPosition;
public BusinessMan(String name, String company, String position)
{
super(name);
this.mCompany = company;
this.mPosition = position;
}
public String GetCompany()
{
return mCompany;
}
public String GetPosition()
{
return mPosition;
}
}
|
cs |
상속 관계에서 서브클래스는 슈퍼클래스의 변수를 함께 담아야하기에 서브 클래스의 생성자에서 슈퍼 클래스의 생성자를 호출하도록 한다.
public class Main {
public static void main(String[] args)
{
WaterCar car = new WaterCar(5, 3, 2);
car.ShowCurrentGauge();
}
}
|
cs |
public class GasolineCar
{
private int mGasolineGauge;
public GasolineCar(int gasolineGauge)
{
this.mGasolineGauge = gasolineGauge;
}
public void ShowCurrentGauge()
{
System.out.println("가솔린 양: " + mGasolineGauge);
}
}
|
cs |
public class ElectricCar extends GasolineCar
{
private int mElectricGauge;
public ElectricCar(int gasolineGauge, int electricGauge)
{
super(gasolineGauge);
this.mElectricGauge = electricGauge;
}
public void ShowCurrentGauge()
{
super.ShowCurrentGauge();
System.out.println("전기 양: " + mElectricGauge);
}
}
|
cs |
public class WaterCar extends ElectricCar
{
private int mWaterGauge;
public WaterCar(int gasolineGauge, int electricGauge, int waterGauge)
{
super(gasolineGauge, electricGauge);
this.mWaterGauge = waterGauge;
}
public void ShowCurrentGauge()
{
super.ShowCurrentGauge();
System.out.println("물 양: " + mWaterGauge);
}
}
|
cs |
public class Main
{
public static void main(String[] args)
{
new Cat();
new Dog();
new Dog();
System.out.print("생성된 객체의 개수: " + Animal.AnimalCount);
}
}
|
cs |
public class Animal
{
public static int AnimalCount = 0;
public Animal()
{
++AnimalCount;
}
}
|
cs |
public class Cat extends Animal
{
public Cat()
{
super();
}
}
|
cs |
public class Duck extends Animal
{
public Duck()
{
super();
}
}
|
cs |
public class Dog extends Animal
{
public Dog()
{
super();
}
}
|
cs |
'기타 > univ. projects' 카테고리의 다른 글
[유니티] 게임엔진응용실습 Unit2 프로젝트 - 장애물 코스 피하기 게임 (0) | 2022.09.13 |
---|---|
[유니티] 게임엔진응용실습 Unit1 프로젝트 (Unity 기초) (0) | 2022.09.13 |
[자바] 멀티미디어자바프로젝트II ch.02 연습문제 (0) | 2022.09.06 |
[자바] JFrame 블랙잭(BlackJack) 게임 구현 (0) | 2022.07.15 |
[자바] 블랙잭(BlackJack) 게임 구현 (0) | 2022.03.27 |