Á¤¼ºÈÆ
    5Àå ½Ç½À



´ÙÀ½ÀÇ ÇÁ·Î±×·¥À» Á÷Á¢ ¼öÇà½ÃÄÑ º¸°í ¿©·¯ °¡Áö¸¦ ¼öÁ¤Çϸ鼭 Å×½ºÆ® Çغ¸½Ã¿À.

  1. ColorPointEx
  2. SuperEx
  3. InstanceOfEx
  4. MethodOverridingEx
  5. GoodCalc
  6. InterfaceEx
  7. ConstructorEx
  8. ConstructorEx2
  9. ConstructorEx2
  10. ConstructorEx3
  11. ConstructorEx4
  12. UpcastingEx
  13. DowncastingEx
  14. SubObject
  15. SuperObject
  16. SubObject

½Ç½À¹®Á¦

¾Æ·¡ÀÇ ¹®Á¦¸¦ Ç®¾î Á¦ÃâÇϽÿÀ.

1

¿øÀ» Ç¥렿ÇÏ´Â ´ÙÀ½ Circle Ŭ·¡½º°¡ ÀÖ´Ù.

class Circle {

    private int radiusl

    public Circle(int radius) { this.radius = radius;}

    public int getRadius() { return radius; }

Circle Ŭ·¡½º¸¦ »ó¼Ó¹ÞÀº NamedCircle Ŭ·¡½º¸¦ ÀÛ¼ºÇÏ¿©, ´ÙÀ½ main()À» ½ÇÇàÇÒ ¶§ ´ÙÀ½ ½ÇÇà °á°ú¿Í °°ÀÌ Ãâ·ÂµÇµµ·Ï Ç϶ó.

    public static void main(String[] args) {
        NamedCircle w = new NamedCircle(5, "Waffle"); 
        w.show(); 

    }

2

ÀÎÅÍÆäÀ̽º AdderInterfaceÀÇ ÄÚµå´Â ´ÙÀ½°ú °°´Ù.

interface AdderInterface {

    int add(int x, int y);

    int add(int n);

}

AdderInterface¸¦ »ó¼Ó¹ÞÀº Ŭ·¡½º MyAdder¸¦ ÀÛ¼ºÇÏ¿©, ´ÙÀ½ main()À» ½ÇÇàÇÒ ¶§ ¾Æ·¡ ½ÇÇà °á°ú¿Í °°ÀÌ Ãâ·ÂµÇµµ·Ï Ç϶ó.

    public static void main(String[] args) {
        MyAdder adder = new MyAdder();
        System.out.println(adder.add(5, 10));
        System.out.println(adder.add(10));
    }

3

´ÙÀ½ ÄÚµå¿Í ½ÇÇà °á°ú¸¦ Âü°íÇÏ¿© Ãß»ó Ŭ·¡½º Calculator¸¦ »ó¼Ó¹Þ´Â Adder¿Í Subtracter Ŭ·¡½º¸¦ ÀÛ¼ºÇ϶ó.

import java.util.Scanner;

abstract class Calculator {
    protected int a, b;

    abstract proctected int calc(); // Ãß»ó ¸Þ¼Òµå
    protected void input() {  // µÎ Á¤¼ö¸¦ ÀԷ¹޴ ¸Þ¼Òµå
        Scanner scanner = new Scanner(System.in);
        System.out.print("Á¤¼ö 2°³¸¦ ÀÔ·ÂÇϼ¼¿ä>>");
        a = scanner.nextInt();
        b = scanner.nextInt();
    }
    public void run() {    // µÎ Á¤¼ö¸¦ ÀÔ·Â¹Þ¾Æ °è»êÇÏ°í °á°ú¸¦ Ãâ·ÂÇÏ´Â ¸Þ¼Òµå
        input();
        int res = calc();
        System.out.println("°è»êµÈ °ªÀº " + res);
    }
}

 

// ÀÌ °÷¿¡ Adder¿Í Subtracter Ŭ·¡½º¸¦ ÀÛ¼ºÇ϶ó.

 

public class App {
    public static void main(String[] args) {
        Adder adder = new Adder();
        Subtracter sub = new Subtracter();

        adder.run();
        sub.run();
    }

}

4

2Â÷¿ø »óÀÇ ÇÑ Á¡À» Ç¥ÇöÇÏ´Â Point Ŭ·¡½º´Â ´ÙÀ½°ú °°´Ù.

class Point {
    private int x, y;
    public Point(int x, int y) { this.x = x; this.y = y; }
    public int getX() { return x; }
    public int getY() { return y; }
    protected void move(int x, int y) { this.x = x; this.y = y; }
}

´ÙÀ½ main()À» ½ÇÇàÇÏ¿© °á°ú°¡ ±×¸²°ú °°µµ·Ï, Point¸¦ »ó¼Ó¹ÞÀº ColorPoint Ŭ·¡½º(main() Æ÷ÇÔ)¸¦ ÀÛ¼ºÇ϶ó.

    public static void main(String[] args) {
        ColorPoint cp = new ColorPoint(5, 5,"YELLOW");
        cp.setPoint(10, 20);
        cp.setColor("GREEN");
        cp.show();

    }

 

5

´ÙÀ½ StackInterface´Â ¹®ÀÚ¿­À» Ǫ½ÃÇÏ°í ÆËÇÒ ¼ö ÀÖ´Â ½ºÅÿ¡ ´ëÇÑ ½ºÆåÀ» Á¤ÀÇÇÏ°í ÀÖ´Ù. StackInterface¸¦ »ó¼Ó¹Þ´Â StringStack Ŭ·¡½º¸¦ ±¸ÇöÇ϶ó. ±×¸®°í StackManager Ŭ·¡½º¿¡ main() ¸Þ¼Òµå¸¦ ÀÛ¼ºÇÏ¿© StringStack °´Ã¼¸¦ »ý¼ºÇÏ°í, »ç¿ëÀڷκÎÅÍ ¹®ÀÚ¿­À» 5°³ ÀÐ¾î ½ºÅà °³Ã¼¸¦ ÀúÀåÇÏ°í, ´Ù½Ã ÆËÇÏ¿© ÀÐÀº ¹Ý´ë¼øÀ¸·Î Ãâ·ÂÇ϶ó.

interface StackInterface {
    int length();
    String pop();
    boolean push(String ob);
}

6

°£´ÜÇÑ ±×·¡ÇÈ ÆíÁý±â¸¦ ¸¸µé¾îº¸ÀÚ. º»¹® 5.6ÀýÀÇ ¸Þ¼Òµå ¿À¹ö¶óÀ̵ù°ú 5.7ÀýÀÇ Ãß»óŬ·¡½ºÀÇ ¼³¸í Áß¿¡ Line, Rect, Circle Ŭ·¡½º Äڵ带 È°¿ëÇÏ¿©, ´ÙÀ½ ½ÇÇà °á°úó·³ µ¿ÀÛÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇ϶ó.

 

Open Challenge

BearÀÇ Fish ¸Ô±â °ÔÀÓ

ÀÌ °ÔÀÓ¿¡´Â Bear¿Í Fish °´Ã¼°¡ µîÀåÇϸç, À̵éÀº 10Çà 20¿­ÀÇ °ÝÀÚÆÇ¿¡¼­ °¢°¢ Á¤ÇØÁø ±ÔÄ¢¿¡ ÀÇÇØ ¿òÁ÷ÀδÙ. Bear´Â »ç¿ëÀÚÀÇ Å°¿¡ ÀÇÇØ ¿ÞÂÊ(a Å°), ¾Æ·¡(s Å°), À§(d Å°), ¿À¸¥ÂÊ (f Å°)À¸·Î ÇÑ Ä­¾¿ ¿òÁ÷ÀÌ°í Fish´Â ´Ù¼¸ ¹ø Áß ¼¼¹øÀº Á¦ÀÚ¸®¿¡ ÀÖ°í, ³ª¸ÓÁö µÎ¹øÀº 4°¡Áö ¹æÇâ Áß ·£´ýÇÏ°Ô ÇÑ Ä­¾¿ ¿òÁ÷ÀδÙ. °ÔÀÓÀº Bear°¡ Fish¸¦ ¸ÔÀ¸¸é(FishÀÇ À§Ä¡·Î À̵¿) ¼º°øÀ¸·Î ³¡³­´Ù.

´ÙÀ½Àº °¢ °³Ã¼ÀÇ À̵¿À» Á¤ÀÇÇÏ´Â move()¿Í °¢ °³Ã¼ÀÇ ¸ð¾çÀ» Á¤ÀÇÇÏ´Â getShape()À» Ãß»ó ¸Þ¼Òµå·Î °¡Áø Ãß»ó Ŭ·¡½º GameObjectÀÌ´Ù. GameObject¸¦ »ó¼Ó¹Þ¾Æ Bear¿Í Fish Ŭ·¡½º¸¦ ÀÛ¼ºÇ϶ó. ±×¸®°í ÀüüÀûÀÎ °ÔÀÓÀ» ÁøÇàÇÏ´Â Game Ŭ·¡½º¿Í main()ÇÔ¼ö¸¦ ÀÛ¼ºÇÏ°í ÇÁ·Î±×·¥À» ¿Ï¼ºÇ϶ó.

public abstract class GameObject { // Ãß»ó Ŭ·¡½º
    protected int distance; // ÇÑ ¹ø À̵¿ °Å¸®
    protected int x, y; // ÇöÀç À§Ä¡(È­¸é ¸Ê »óÀÇ À§Ä¡)

    public GameObject(int startX, int startY, int distance) { // Ãʱâ À§Ä¡¿Í À̵¿ °Å¸® ¼³Á¤
        this.x = startX; this.y = startY;
        this.distance = distance;
    }
    public int getX() { return x; }
    public int getY() { return y; }
    public boolean collide(GameObject p) { // ÀÌ °´Ã¼°¡ °´Ã¼ p¿Í Ãæµ¹ÇßÀ¸¸é true ¸®ÅÏ
        if(this.x == p.getX() && this.y == p.getY())
            return true;
        else
            return false;
    }

    public abstract void move(); // À̵¿ÇÑ ÈÄÀÇ »õ·Î¿î À§Ä¡·Î x, y º¯°æ
    public abstract char getShape(); // °´Ã¼ÀÇ ¸ð¾çÀ» ³ªÅ¸³»´Â ¹®ÀÚ ¸®ÅÏ
}

 

  µî·ÏÀÏ : 2016-09-08 [00:19] Á¶È¸ : 1862 ´Ù¿î : 0   
 
¡â ÀÌÀü±Û6Àå ½Ç½À
¡ä ´ÙÀ½±Û4Àå ½Ç½À
°´Ã¼ÁöÇâ¾ð¾î ½Ç½À°Ô½ÃÆÇ
¹øÈ£ ¨Ï Á¦ ¸ñ À̸§ Á¶È¸ µî·ÏÀÏ
7 7Àå ½Ç½À ½Ç½À Á¤¼ºÈÆ 1894 09-16
6 6Àå ½Ç½À ½Ç½À Á¤¼ºÈÆ 2011 09-16
5 5Àå ½Ç½À ½Ç½À Á¤¼ºÈÆ 1862 09-08
4 4Àå ½Ç½À ½Ç½À Á¤¼ºÈÆ 2996 09-08
3 3Àå ½Ç½À ½Ç½À Á¤¼ºÈÆ 2809 09-07
2 ¦¦❶ 19´Ü Ãâ·ÂÇϱâ (Á¤·ÄÇؼ­) °è¼Ó Á¤¼ºÈÆ 861 09-12
1 2Àå ½Ç½À ½Ç½À Á¤¼ºÈÆ 2609 08-29

[1][2][3]