2016년 8월 3일 수요일

Java 1-9 클래스 class 제어문 연습

package kr.hunhun.unit;

public abstract class Car {

// 자식까지만 제어가 가능하도록 오픈한다.
protected float oil;

//기름 넣기
void addOil(float oil){
this.oil += oil;
}

// 상속받는 모든 클래스가 info라는 동일한 이름으로
// 정보를 확인할 수 있도록 함
public abstract String info();

}
-----------------------------------------------------------------------------
import kr.hunhun.common.Singleton;



public class Main {

public static void main(String[] args) {
// 생성자 private이라 생성불가 확인
// Singleton common = new Singleton();
Singleton common = Singleton.getInstance();
common.playcount++;
Singleton test = Singleton.getInstance();
System.out.println(test.playcount);

}

}
------------------------------------------------------------------------
import kr.hunhun.unit.MiniCar;

public class Main2 {

public static void main(String[] args) {
MiniCar myCar = new MiniCar();
System.out.println(myCar.info());

}

}
------------------------------------------------------------------------------------
package kr.hunhun.unit;

public final class MiniCar extends Car {

@Override
public String info() {
return "미니카";
}

}
-----------------------------------------------------------------
package kr.hunhun.common;

// 상속금지. 상속을 통해서 생성자를 만드는 문제 해결
final public class Singleton {
// 유일하게 하나만 존재할 객체인 관계로 static 적용
// 내부에서만 사용가능하게 private 적용
private static Singleton _s; 
// 공용으로 이용할 변수
public int playcount;
// 공개 거부 제어자 설정 - 직접적인 생성 불가
private Singleton() { }
public static Singleton getInstance(){
// Singleton 객체가 없으면 만들어라
if(_s == null){
_s = new Singleton();
}
return _s;
}

}
------------------------------------------------------------------------

댓글 없음:

댓글 쓰기