CodeGym /Java Blog /๋ฌด์ž‘์œ„์˜ /Java ์ถ”์ƒ ๋ฉ”์„œ๋“œ ๋ฐ ํด๋ž˜์Šค
John Squirrels
๋ ˆ๋ฒจ 41
San Francisco

Java ์ถ”์ƒ ๋ฉ”์„œ๋“œ ๋ฐ ํด๋ž˜์Šค

๋ฌด์ž‘์œ„์˜ ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
์ถ”์ƒ ๋ฉ”์„œ๋“œ๋Š” Java์˜ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์ด๋ฉฐ ์ด ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด์— ๋‹คํ˜•์„ฑ๊ณผ ๊ด€๋ จํ•˜์—ฌ ํ›จ์”ฌ ๋” ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Java ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ „์ฒด ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋งŒ๋“ค๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์ž๋ฐ” ์ถ”์ƒ โ€‹โ€‹๋ฉ”์†Œ๋“œ์™€ ๋‹น์‹  - 1

์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ถ”์ƒ ๋ฉ”์„œ๋“œ๋Š” ๊ตฌํ˜„์ด ์—†๋Š” ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์„ ์–ธ๋งŒ ์žˆ์œผ๋ฏ€๋กœ ์ด๋ฆ„, ๋ฐ˜ํ™˜ ์œ ํ˜• ๋ฐ ์ˆ˜๋ฝํ•  ๋ณ€์ˆ˜๋ฅผ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๊ธฐ๋ณธ ์ถ”์ƒ ๋ฉ”์„œ๋“œ์˜ ์˜ˆ์ž…๋‹ˆ๋‹ค.

public abstract int example(int a1, int a2);
์ด ๋ฉ”์„œ๋“œ๋ฅผ ๋ณด๋ฉด ์ •์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ๋‘ ๊ฐœ์˜ ์ •์ˆ˜๋ฅผ ์ธ์ˆ˜๋กœ ๋ฐ›์•„๋“ค์ธ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ์€ ์ด ๋ฐฉ๋ฒ•์ด ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„๋˜๋Š”์ง€์ž…๋‹ˆ๋‹ค. ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ์žฌ์ •์˜ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. Java์—์„œ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ๋งŒ๋“ค ๋•Œ ๋ช‡ ๊ฐ€์ง€ ์ง€์นจ์„ ์ค€์ˆ˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ปดํŒŒ์ผ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ธฐ์–ตํ•˜๋‹ค:
  • Java ์ถ”์ƒ ๋ฉ”์†Œ๋“œ์—๋Š” ๊ตฌํ˜„์ด ์—†์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ฃผ๋Š” ๋ณธ๋ฌธ๊ณผ ์ค‘๊ด„ํ˜ธ๊ฐ€ ๋’ค์— ์˜ค๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ƒฅ ์„ธ๋ฏธ์ฝœ๋ก ์œผ๋กœ ๋๋‚ฉ๋‹ˆ๋‹ค.

  • ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ๋งŒ๋“ค๋ฉด ์ถ”์ƒ ํด๋ž˜์Šค์—๋งŒ ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋‚ด๋ถ€์— ์ถ”์ƒ ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ๋Š” ๊ตฌ์ฒด์ ์ธ ํด๋ž˜์Šค๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
    ๋‚˜. ์ฐธ๊ณ ๋กœ ์ถ”์ƒ ํด๋ž˜์Šค๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์ƒ์„ฑ์ž๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ€์งˆ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.

  • ๊ตฌ์ƒ ํด๋ž˜์Šค๊ฐ€ ์ถ”์ƒ ํด๋ž˜์Šค๋ฅผ ํ™•์žฅํ•˜๋Š” ๊ฒฝ์šฐ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ชจ๋“  ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋„ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๊ตฌ์ƒ ํด๋ž˜์Šค๊ฐ€ ๋  ์ˆ˜ ์—†์œผ๋ฉฐ ์ถ”์ƒ์œผ๋กœ ์„ ์–ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰ ๋‘ ๊ฐœ๋Š” ์•ฝ๊ฐ„ ํ˜ผ๋ž€์Šค๋Ÿฌ์šธ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ฐ”๋กœ ํ•ด๊ฒฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ถ”์ƒ Java ํด๋ž˜์Šค ํ™•์žฅ

๋‘˜๋ ˆ์™€ ๋ฉด์ ์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ธฐ๋ณธ ๋„ํ˜•์— ๋Œ€ํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๊ณ  ์‹ถ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ถ€๋ชจ ์ถ”์ƒ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ชจ๋“  ๋„ํ˜•์—๋Š” ๊ณ ์œ ํ•œ ๊ทœ์น™์ด ์žˆ์œผ๋ฏ€๋กœ ๊ฐ ๋„ํ˜•์„ ๋‹ค๋ฅด๊ฒŒ ๊ณ„์‚ฐํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ถ”์ƒ Shape ํด๋ž˜์Šค๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

abstract class Shape {
  		String shapeName = " ";
  		Shape(String name) { 
    			this.shapeName = name; 
  		} 

abstract double area();
  		abstract double perimeter();
}
์ด์ œ ์ด๋Ÿฌํ•œ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ถ”์ƒ Java ์ƒ์œ„ ํด๋ž˜์Šค์ธ Shape๋ฅผ ํ™•์žฅ ํ•œ ๋‹ค์Œ ๋ฉ”์„œ๋“œ๋ฅผ ์ธ์Šคํ„ด์Šคํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ ๊ตฌ์ฒด์ ์ธ ํด๋ž˜์Šค๋Š” ์˜์—ญ ๋ฐ ์ฃผ๋ณ€ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

class Quadrilateral extends Shape  
{ 
    double length, width; 
      
    Quadrilateral(double l, double w, String name) 
    { 
        super(name); 
        this.length = l; 
        this.width = w; 
    } 
      
    @Override
    public double perimeter()  
    { 
        return ((2*length)+(2*width));
    } 
      
    @Override
    public double area()  
    { 
        return (length*width); 
    } 
}

Implementing the Quadrilateral class would then look like this
class Main
{ 
    public static void main (String[] args)  
    { 
      
        // creating a Quadrilateral object using Shape as reference 
        Shape rectangle = new Quadrilateral(3,4, "Rectangle"); 
        System.out.println("Area of rectangle is " + rectangle.area()); 
        System.out.println("Perimeter of rectangle is " + rectangle.perimeter());
  
    } 
} 
์ฝ˜์†”์˜ ์ถœ๋ ฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Area of rectangle is 12.0
Perimeter of rectangle is 14.0
Quadrilateral ํด๋ž˜์Šค๋Š” ๋ถ€๋ชจ ํด๋ž˜์Šค Shape ์—์„œ Shape(String name) ์ƒ์„ฑ์ž๋ฅผ ์ธ์Šคํ„ด์Šคํ™”ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค . ์ถ”์ƒ ๋ฉ”์†Œ๋“œ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํด๋ž˜์Šค์—์„œ ์˜์—ญ์ด๋‚˜ ๊ฒฝ๊ณ„๋งŒ ๊ตฌํ˜„ํ•œ ๊ฒฝ์šฐ ์ƒˆ ํด๋ž˜์Šค๋Š” ๋‘˜ ๋‹ค ํฌํ•จํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์ถ”์ƒ ํด๋ž˜์Šค์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์žˆ๋Š” ์ถ”์ƒ Java ๋ฉ”์†Œ๋“œ

์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋ฌด์—‡์ด๊ณ  ์ถ”์ƒ ํด๋ž˜์Šค์™€ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ์ง€ ๋น ๋ฅด๊ฒŒ ๊ฒ€ํ† ํ•ด ๋ด…์‹œ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ธํ„ฐํŽ˜์ด์Šค์— ์„ ์–ธ๋œ ๋ชจ๋“  ๋ณ€์ˆ˜๋Š” public, static ๋ฐ final์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— ์ถ”์ƒ ํด๋ž˜์Šค์—๋Š” ์ตœ์ข… ๋ณ€์ˆ˜๊ฐ€ ์•„๋‹Œ ๋ณ€์ˆ˜๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ชจ๋“  ํ•ญ๋ชฉ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ณต๊ฐœ๋ฉ๋‹ˆ๋‹ค. ์ถ”์ƒ ํด๋ž˜์Šค๋Š” ๊ฐœ์ธ, ๋ณดํ˜ธ, ๊ณต๊ฐœ ๋“ฑ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ํด๋ž˜์Šค๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ™•์žฅํ•˜์ง€ ์•Š๊ณ  ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. JDK 8 ์ด์ „์—๋Š” ์ธํ„ฐํŽ˜์ด์Šค์— ์ถ”์ƒ ๋ฉ”์„œ๋“œ ์™ธ์—๋Š” ์•„๋ฌด ๊ฒƒ๋„ ํฌํ•จํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๊ธฐ๋ณธ ๋ฐ ์ •์  ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๋ชจ๋ฒ” ์‚ฌ๋ก€๋Š” ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ํ…œํ”Œ๋ฆฟ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์—์„œ ๋ฒ—์–ด๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ๊ตฌํ˜„์— ์ค‘์ ์„ ๋‘์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ธํ„ฐํŽ˜์ด์Šค๋กœ Shape๋ฅผ ์ƒ์„ฑํ•œ ๋‹ค์Œ Quadrilateral ๋กœ ๊ตฌํ˜„ํ•œ๋‹ค๋ฉด, ์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ์„๊นŒ์š”? ๋จผ์ € Shape(String name) ์ƒ์„ฑ์ž๋ฅผ ์—†์• ์•ผ ํ•ฉ๋‹ˆ๋‹ค . ๋‘ ๊ฐœ์˜ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋งŒ ์žˆ์œผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

interface Shape {

  abstract double area();
  abstract double perimeter();
}


So the Quadrilateral class would then look like this:
class Quadrilateral implements Shape {  

  double length, width; 
      
    	  Quadrilateral(double l, double w) {
    
    	    this.length = l; 
    	    this.width = w; 
    	  } 
      
    	  @Override
    	  public double perimeter() {
     
    	    return ((2*length)+(2*width));
    	  } 
      
    	  @Override
    	  public double area() {
    
   	    return (length*width); 
    	  } 
}
๋งˆ์ง€๋ง‰์œผ๋กœ, Shape ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ ์ƒˆ๋กœ์šด Quadrilateral์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๊ฑฐ์˜ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

class Main
{ 
    public static void main (String[] args)  
    { 
      
        // creating a Quadrilateral object using Shape as reference 
        Shape rectangle = new Quadrilateral(3,4); 
        System.out.println("Area of rectangle is " + rectangle.area()); 
        System.out.println("Perimeter of rectangle is " + rectangle.perimeter());
  
    } 
}
์ฝ˜์†” ์ถœ๋ ฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Area of rectangle is 12.0
Perimeter of rectangle is 14.0
์ธํ„ฐํŽ˜์ด์Šค์™€ ์ถ”์ƒ ํด๋ž˜์Šค ๊ฐ„์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๋ ค๋ฉด ์—ฌ๊ธฐ์—์„œ ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์™œ ์ถ”์ƒ Java ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๊นŒ?

Java์—์„œ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ์™€ ์‚ฌ์šฉ์— ์ต์ˆ™ํ•ด์ ธ์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ๋งŽ์Šต๋‹ˆ๋‹ค. ์ ์ ˆํ•  ๋•Œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์„ธ ๊ฐ€์ง€ ๊ฐ„๋‹จํ•œ ์ด์œ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
  1. ๋…ธ๋ ฅ์˜ ์ค‘๋ณต ๋ฐฉ์ง€ โ€“ ์˜ˆ์ œ ์ฝ”๋”ฉ์„ ๋‹ค์‹œ ์‚ดํŽด๋ณด์‹ญ์‹œ์˜ค. ๊ท€ํ•˜์™€ ๊ท€ํ•˜์˜ ํŒ€์ด ์ง์‚ฌ๊ฐํ˜• ์ด์™ธ์˜ ๋ชจ์–‘์— ๋Œ€ํ•œ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ์ƒํ•ด ๋ณด์‹ญ์‹œ์˜ค. ํ•ด๋‹น ํด๋ž˜์Šค๋ฅผ ์„ค๊ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์ƒ๊ฐํ•ด ๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ๋ช‡ ๊ฐ€์ง€์ž…๋‹ˆ๊นŒ? ์‹ญ? ์—ด ๋‹ค์„ฏ? ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์€ ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ํ›จ์”ฌ ๋” ๋ณต์žกํ•œ ๊ฒƒ์„ ์ƒ์ƒํ•ด๋ณด์‹ญ์‹œ์˜ค. ๋‹น์‹ ๊ณผ ๋‹น์‹ ์˜ ํŒ€์€ 100๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์ œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ทธ๊ฒƒ๋“ค์„ ์ผ๊ด€๋œ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์—ฎ๋Š” ๋ฒ…์ฐฌ ์ž‘์—…์— ์ง๋ฉดํ•˜๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์šฐ๋ฆฌ์˜ ๋‹ค์Œ ์š”์ ์ธ ๊ตฌํ˜„ ์ •์˜๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค.

  2. Java์˜ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋Š” ์‚ฌ์šฉ ๋ฐ ๊ตฌํ˜„์˜ ์ •์˜๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ถ”์ƒ ํด๋ž˜์Šค ๋˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์„ค๊ณ„์ƒ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ์ •์˜ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์–ด๋–ค ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€, ์–ด๋–ค ๋ฐ˜ํ™˜ ์œ ํ˜•์„ ์˜ˆ์ƒํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    ๊ทธ๊ฒƒ๋“ค์„ ์žฌ์ •์˜ํ•˜๊ณ  ๊ณ ์œ ํ•œ ๋ฐฉ์‹์œผ๋กœ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ตฌ์ฒด์ ์ธ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ์ฝ”๋“œ์˜ ํ•ต์‹ฌ ์‚ฌ์šฉ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€ Shape๋ฅผ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ๋‘˜๋ ˆ์™€ ์˜์—ญ์„ ๋ชจ๋‘ ์žฌ์ •์˜ํ•˜๊ฑฐ๋‚˜ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  3. ๊ฐ€๋…์„ฑ ๋ฐ ๋””๋ฒ„๊น… - ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์ด ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ๋ฌด์—‡์„ ์ฐพ์•„์•ผ ํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ชจ๋“  ์ถ”์ƒ ๋ฉ”์„œ๋“œ๊ฐ€ ๊ตฌํ˜„์— ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์œผ๋ฏ€๋กœ ๋ฒ„๊ทธ๋ฅผ ์‰ฝ๊ฒŒ ์ฝ๊ณ  ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋Š” Java ๋ฐ ๊ธฐํƒ€ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด์—์„œ ๋‹คํ˜•์„ฑ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๋Š” ์‹œ์ž‘์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์ดํ•ดํ•˜๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด ์ฝ”๋”ฉ ์—ฌ์ •์˜ ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ์žฅ์ด ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION