JAVA/객체 코드 (16) 썸네일형 리스트형 Robot 로봇 action함수를 작성해보는 문제 최상위 클래스인 Object[] arr 를 통해 나머지 로봇들을 다뤘다. -> for문으로 action[ i ]안에 배열을 나눠담고 -> action함수에서 if문을 사용해 받은 매개변수를 나누어 class실행을 다르게 설정했다 public class mainClass { public static void main(String[] args) { /* Robot[] arr = { new DanceRobot(), new SingRobot(), new DrawRobot() }; for(int i=0; i< arr.length;i++) action(arr[i]); */ Object[] arr = { new DanceRobot(), new SingRobot(), new DrawR.. 스타크래프트 ( Me) 입력받아 실행 될 수 있게 만들던중이고 class의 형변환을 시켰다 public class main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("작동시킬 아이를 선택해 주세요 : 1.Marine 2.Tank 3.Dropship"); int u_num = sc.nextInt(); Unit u1 = new Marine(); Unit u2 = new Tank(); Unit u3 = new Dropship(); Marine m = (Marine)u1;//*Class의 형변환 Tank t = (Tank)u2;//*Class의 형변환 Dropship ds = (Dropship)u3;.. 스타크래프트 (정답) public class mainClass { public static void main(String[] args) { // TODO Auto-generated method stub /* Marine m = new Marine(); Tank t = new Tank(); DropShip d = new DropShip(); */ Unit unit[] = new Unit[3]; unit[0] = new Marine(); unit[1] = new DropShip(); unit[2] = new Tank(); unit[0].move(100, 100); unit[1].move(200, 300); unit[2].move(250, 400); unit[0].stop(); unit[1].stop(); unit[2].stop(.. final Class 요점 정리로는 변수에는 final을 붙이면 상수가 됨(대입용) 해당 변수는 대문자로 쓰는 경우가 흔함 클래스에는 final을 class에 붙이면 상속 금지 메소드에는 final을 method에 붙이면 오버라이딩을 할 수 없음 public class mainClass { public static void main(String[] args) { //final : 제약 /* 변수, 메소드, 클래스 */ final int number = 10; // 변수-> final을 붙이면 상수가 됨(대입용) final int MEMBER_NUMBER = 100;//대문자로 쓰는 경우가 흔함 int num; num = number; //대입용 num = MEMBER_NUMBER; // number = 2; 에러.number.. class 기초순서 문제 답이 x=200인 이유는 c.getX()->Child의 Child()->super()생략;적용->Parent()->Parent(200)->getX()->x의 return값 이기 때문이다 public static void main(String[] args) { Child c = new Child(); System.out.println("x="+c.getX()); //me : x=1000 //답 : x=200 } ------------------------------------------------- public class Parent { int x=100; Parent() { this(200);//2 } Parent(int x) { this.x = x;//1 } int getX() { return x; }.. static static == 정적 -> 유지상태 -> 남발하면 메모리의 낭비로 주의해서 사용 -> 주로 프로그램의 흐름을 파악 할 때 사용 1. static 메소드 주 사용처: 위와 같은 코드->Member 클래스의 static메서드 안에 객체생성고 초기화까지 해서 절차를 줄임 //접근 못하는 요소 메소드 안에 this, super 접근 못함 메인---- MyClass.staticMethod();//instance를 생성하지 않아도 바로 사용 가능 //->MyClass staticMethod() 호출 Member mem = new Member(); mem.init(); mem.random(); mem.input(); //위와 같은 코드->Member 클래스의 static메서드 안에 객체생성고 초기화까지 해서 절차를.. 상속(4) instanceOf public static void main(String[] args) { Parent p = new Parent(); Object obj = new Parent(); Parent p1 = (Parent)obj; p1.method(); /* instanceOf : 상속받은 Object를 부모 클래스의 instance로 생성 ChildOne-> Parent ChildTwo-> Parent 생성된 instance에 어떤 자식 클래스가 생성되었는지 판별 할 수 있는 제어자 */ Parent arrPar[] = new Parent[3]; arrPar[0] = new ChildOne(); arrPar[1] = new ChildTwo(); arrPar[2] = new ChildOne(); for (int i = 0;.. 상속(3) 형변환, 배열// (다형성) public static void main(String[] args) { /* ChildOne one = new ChildOne(); ChildTwo two = new ChildTwo(); one.method(); //답 -> ChildOne method() two.method();//답 -> ChildTwo method() //답은 위와 동일하나 인스턴스는 다름 Parent pone = new ChildOne(); Parent ptwo = new ChildTwo(); pone.method(); ptwo.method(); */ /* //1번. 인스턴스값으로 각각 관리해야 함 //10명 //lady ChildOne lady[] = new ChildOne[10]; //man ChildTwo man[] = n.. 이전 1 2 다음