58. 인터페이스 배열로 규칙 차례로 적용하기
다음 Java 프로그램의 실행 결과를 쓰시오.
1interface Rule {2int apply(int x);34default String name() {5return "R";6}7}89class Twice implements Rule {10public int apply(int x) {11return x * 2;12}13}1415class Minus implements Rule {16int d;1718Minus(int d) {19this.d = d;20}2122public int apply(int x) {23return x - d;24}2526public String name() {27return "M" + d;28}29}3031class Square implements Rule {32public int apply(int x) {33return x * x;34}3536public String name() {37return "S";38}39}4041public class Main {42public static void main(String[] args) {43Rule[] rules = {new Minus(3), new Twice(), new Square(), new Minus(10)};44int v = 5;45for (Rule r : rules) {46v = r.apply(v);47System.out.println(r.name() + ":" + v);48}49System.out.println("최종=" + v);50}51}