class Circle {
private int radius; // 반지름
public Circle(int radius) { this.radius = radius; }
public int getRadius() { return radius; } // radius 값을 반환함
}
public class NamedCircle extends Circle { // Circle을 부모 클래스로 사용한 NamedCircle 클래스
String name; // 클래스명에 명시한 것 처럼 이름을 담을 변수
public NamedCircle(int circle, String name) {
super(circle); // 부모 클래스의 생성자에 circle 매개변수를 담아 실행
this.name = name;
}
public void show() { // Circle의 이름과 반지름의 길이를 보여줌.
System.out.println(name+", 반지름 = " + super.getRadius());
}
public static void main(String[] args) {
NamedCircle w = new NamedCircle(5, "Waffle"); // 반지름이 5이며 이름이 "Waffle"인 NameCircle w생성
w.show(); // 메소드 호출
}
}
import java.util.Scanner;
abstract class Calculator {
protected int a, b;
abstract protected 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);
}
}
class Adder extends Calculator {
@Override
protected int calc() {
return super.a + super.b;
}
}
class Subtracter extends Calculator {
@Override
protected int calc() {
return super.a - super.b;
}
}
public class App {
public static void main(String[] args) {
Adder adder = new Adder();
Subtracter sub = new Subtracter();
adder.run();
sub.run();
}
}
import java.util.Scanner;
interface StackInterface {
int length();
String pop();
boolean push(String ob);
}
class StringStack implements StackInterface {
String[] stack = new String[5];
int length = 0;
@Override
public int length() {
return length;
}
@Override
public String pop() {
if(length >= 0) {
return stack[--length];
}
return null;
}
@Override
public boolean push(String ob) {
if(length <= stack.length) {
stack[length++] = ob;
return true;
}
return false;
}
}
public class StackManager {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
StringStack stack = new StringStack();
for(int i = 0; i < 5; i++) {
String word = scanner.next();
stack.push(word);
}
for(int i = 0; i < 5; i++) {
System.out.print(stack.pop() + " ");
}
}
}
interface Shape {
final double PI = 3.14;
void draw();
double getArea();
default public void redraw() {
System.out.println("--- 다시 그립니다. ---");
draw();
}
}
class Circle implements Shape {
int radius;
double area;
public Circle(int radius) {
this.radius = radius;
}
@Override
public void draw() {
System.out.print("반지름 " + radius+ " ");
this.area = (radius * radius) * PI;
}
@Override
public double getArea() {
return area;
}
}
public class ShapeApp {
public static void main(String[] args) {
Shape coin = new Circle(10);
coin.redraw();
System.out.println("코인의 면적은 " + coin.getArea());
}
}