문제는 다음과 같다. abstract class My point - int x; - int y; - MyPoint 생성자 - abstract void move( int x , int y) //새로운 이동 - abstract void reverse() // x,y 좌표 스위치 - void show() -> x,y를 화면에 출력 class ColorMyPoint는 MyPoint 상속 - String color; - Show() 에서 blue(3,4) 출력 소스코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 ..
※문제 : 도형을 정의한 Shape를 조상으로 하는 Circle 클래스와 Rectangle 클래스를 작성 , 생성자는 각 클래스에 맞게 적절히 추가 할것. (1) 클래스 명 : Circle - 조상 클래스 : Shape - 멤버 변수 : double r - 반지름 (2) 클래스 명 : Rectangle -조상 클래스 : Shape - 멤버 변수 : - dobule width = 폭 - double height = 높이 abstract class Shape{ Point p; Shape(){ this(new Point(0,0)); } Shape(Point p){ this.p = p; } abstract double calcArea(); Point getPosition(){ return p; } void se..
추상 메소드 = 선언 되어있으나 구현되어 있지 않은 메소드 추상 메소드 선언 = abstract 키워드로 선언 ex ) public abstract int getValue(); ◎추상 메소드는 서브 클래스에서 오버 라이딩 하여 구현한다. 추상 클래스 ◎ 추상 메소드를 하나라도 가진 클래스를 말한다. - > 클래스 앞에 반드시 abstract 선언 ◎ 추상 메소드가 하나도 없지만 클래스 안에 abstract로 선언 한경우 예시 1 2 3 4 5 6 7 8 9 10 11 12 abstract class Dobject{ public Dobject next; public Dobject(){next=null;} abstract public void draw(); } cs 추상 클래스 특성 ◎추상 클래스의 객체는 ..
point 클래스를 작성하고 2가지 메소드를 이용 하여 거리를 구한다음 출력 하여라 - int x, y - 생성자 - double getDistance(int a, int b) / double getDistance(point p) ----> 마지막 항에서 getDistance 메소드는 오버로딩을 이용한것이다. 소스 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 class point{ int x,y; point() { } point(int i ,int j) { x = i ; y = j ; } public double getDistance(int a, int b) { ret..
- 슈퍼 클래스의 메소드를 서브 클래스에서 재정의하는 것 ○슈퍼 클래스의 메소드 이름, 메소드 인자 타입및 개수 , 리턴 타입등 모든것 동일하게 정의 - 부모가 갖고있는 메소드를 똑같이 적용 ! 예시를 들어보자 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 class Animal{ String name; public void makeSound() { System.out.println("소리를 낸다"); } } class Dog extends Animal{ String kind; public void makeSound(){ //메소드 오버라이딩을 한다. System...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 import java.util.Scanner; class calc{ int height; double weight; calc() { } static int calcHeight(int i, int j) { return ((i+j)/2)+5; } static double calcWeight(double i ,double j) { return ((i+j)/2)-4.5; } } public class J197 { public static void main(String[] args) { // TODO Auto-generat..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 import java.util.Scanner; class square{ int x1,y1; int x2,y2; int x3,y3; int x4,y4; square() { } static int WhoisBig(int i, int j) { return (i>j)? i : j; } static int WhoisSmall(int i ,int j) { return (i
하나의 메소드 이름으로 다양한 매개값을 받을수 있는 방법은 없을까? 이 부분을 해결하기 위해 메소드 오버로딩 이라는 방식이 있다. 메소드 오버로딩은 클래스 내에 같은 이름의 메소드를 여러 개 선언하는 것 이다. 먼저 아래 예시를 살펴보자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 public class MethodTest { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(add(2,5)); System.out.println(add(2.2,5.5)); System.out.println(add("2.5","5.5")..