๐Ÿ’ป ๊ณต๋ถ€ ๊ธฐ๋ก/โ˜• Java

Java | ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ฐ์Šต ๋ฌธ์ œ ๋ฐ ํ’€์ด

  • -

ํ•˜๋ฃจ์˜ ๊ณต๋ถ€ ๋‚ด์šฉ 2๊ฐœ์”ฉ ์˜ฌ๋ฆฌ๋‹ค๊ฐ€ ์ตœ๊ทผ ์ „์ž์ •๋ถ€ํ”„๋ ˆ์ž„์›Œํฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋ฐฐ์šฐ๊ณ ,

์—…๋กœ๋“œ๋ฉฐ ๊ณต๋ถ€ํ•˜๋Š” ๋ฒ”์œ„๋ฉฐ ์กฐ๊ธˆ์”ฉ ์ค„์–ด๋“ค๊ณ  ์žˆ๋‹ค.

 

๋ฌด๋ฆฌํ•˜์ง€ ์•Š๊ณ  ์ตœ๋Œ€ํ•œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋งŒํผ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ,

๊ณต๋ถ€ํ•˜๋Š” ๋‚ด์šฉ์ด ์ƒ๊ฐ ์ด์ƒ์œผ๋กœ ๋†๋„๊ฐ€ ์žˆ๊ณ  ์‹ฌ์˜คํ•˜๋‹ค.

 

์ต์ˆ™ํ•ด์ง€๋ ค๊ณ  ๋ฌด์ž‘์ • ๋”ฐ๋ผํ•˜๊ธฐ ์ค‘์ธ๋ฐ๋„

์ž˜ ๋”ฐ๋ผ๊ฐ€๊ณ  ์žˆ๋Š”๊ฑด์ง€, ์ž˜ ํ•˜๊ณ  ์žˆ๋Š”๊ฒŒ ๋งž๋Š”๊ฑด์ง€ ์‹ถ๋‹ค.

 

์ด์ „์—๋„ ์ฝ”๋”ฉ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ด๋ ‡๊ฒŒ ๋‚ด ์‹ค๋ ฅ๊ณผ ๋‚˜์˜ ์ƒํƒœ๋ฅผ ์ ๊ฒ€ํ•˜๋Š” ์‹œ๊ธฐ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ,

๋”ฑ ๋‚ด๊ฐ€ ์ƒˆ๋กญ๊ฒŒ ๋ฐฐ์šฐ๊ณ  ์ตํžˆ๋Š” ์ˆœ๊ฐ„์ด๋”๋ผ.

 

์ด ์ˆœ๊ฐ„๋„ ์ง€๋‚˜๊ฐˆ ๊ฒƒ์ด๊ณ  ์ž˜ ์ง€๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๊ฒŒ

๋‚ด ๋ชธ ์ž˜ ์‚ดํ”ผ๋ฉด์„œ ์ž˜ ๋ฐฐ์›Œ๋ณด์ž.

 

์„ฑ๊ธ‰ํ•˜๊ฒŒ ์ƒ๊ฐํ•˜์ง€ ๋ง๊ณ ,

์กฐ๊ธˆ์”ฉ ์กฐ๊ธˆ์”ฉ

 

 

์•„๋ƒ.. ๊ทธ๋Ÿฐ ๊ณณ ์•„๋ƒ!!

 


 

[์ถœ์ฒ˜ : ์ ํ”„ ํˆฌ ์ž๋ฐ”]

 

package Do_Test; // ์ •๋‹ต ํ’€์ด!!!! // ๋ฌธ์ œ 1 class Calculator { int value; Calculator() { this.value = 0; } void add(int val) { this.value += val; } int getValue() { return this.value; } // ๋ฌธ์ œ 3 void isOdd(int val) { if (val % 2 == 0) { System.out.println("false"); } else { System.out.println("true"); } } // ๋ฌธ์ œ 3 ์ •๋‹ต // boolean isOdd(int num) { // return num % 2 == 1; // } // boolean ์œผ๋กœ ์ฐธ ๊ฑฐ์ง“์„ ์ข€ ๋” ๊ฐ„๋‹จ ๋ช…๋ฃŒํ•˜๊ฒŒ ์ถœ๋ ฅํ•˜๊ฒŒ ํ•จ // ๋ฌธ์ œ 4 int avg(int[] arr) { // System.out.print(arr[1]); // 3 int total = 0; for (int i = 0; i < arr.length; i++) { add(arr[i]); total = this.value; System.out.println(total); // 25 ์ถœ๋ ฅ } this.value = total / arr.length; // System.out.println(this.value); // 5 ์ถœ๋ ฅ return this.value; } // ๋ฌธ์ œ 4 ์ •๋‹ต // ๋ฐฐ์—ด // int avg(int[] data) { // int total = 0; // for (int num : data) { // total += num; // } // return total / data.length; // } // // ๋ฆฌ์ŠคํŠธ // int avg(ArrayList<Integer> data) { // int total = 0; // for (int num : data) { // total += num; // } // return total / data.size(); // } } // ๋ฌธ์ œ 1-1 class UpgradeCalculator extends Calculator { // Calculator๋ฅผ ์ƒˆ๋กœ์šด UpgradeCalculator์— ์ƒ์† void minus(int val) { // minus๋ฉ”์†Œ๋“œ ์ƒ์„ฑ this.value -= val; } } // ๋ฌธ์ œ 2 class MaxLimitCalculator extends Calculator { @Override int getValue() { // System.out.println(this.value); // 110 if (this.value > 100) { this.value = 100; return this.value; } else { return super.getValue(); } } // ๊ณผ์ •์—์„œ ์กฐ๊ฑด์„ ์ œ์‹œํ•˜๋Š” ๊ฒƒ? // ๊ฒฐ๊ณผ์—์„œ ์กฐ๊ฑด์„ ์ œ์‹œํ•˜๋Š” ๊ฒƒ? // ๋ฌธ์ œ 2 ์ •๋‹ต // class MaxLimitCalculator extends Calculator { // void add(int val) { // this.value += val; // if (this.value > 100) { // this.value = 100; // } // } // } } // ๋ฌธ์ œ 6 class Calculator_06 { int value; // Integer > int void add(int val) { this.value += val; } public int getValue() { // Integer > int return this.value; } } // ๋ฌธ์ œ 6 ์ •๋‹ต // Calculator() { // this.value = 0; // } // ๊ทธ๋ƒฅ ๋‹จ์ˆœํ•˜๊ฒŒ.. Calculator ์˜ ์ƒ์„ฑ์ž๋ฅผ ๋งŒ๋“ค๊ณ  ์ดˆ๊ธฐ๊ฐ’์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ.. // ์™œ ์–ด๋ ต๊ฒŒ ์ƒ๊ฐํ–ˆ์ง€..? // ๋ฌธ์ œ 7 interface Mineral { int getpoint(); } class Gold implements Mineral { public int getpoint() { return 100; } } class Silver implements Mineral { public int getpoint() { return 90; } } class Bronze implements Mineral { public int getpoint() { return 80; } } // ์—ฌ๊ธฐ๊นŒ์ง€๋Š” ์ •๋‹ต์ธ๋ฐ.. class MineralCalculator { int value = 0; // ์ •๋‹ต public void add(Mineral mineral) { this.value += mineral.getpoint(); } /* * ๋‹ค์Œ์ฒ˜๋Ÿผ Mineral ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ด‘๋ฌผ์˜ ๊ฐ€์น˜๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” getValue ๋ฉ”์„œ๋“œ๋ฅผ ์„ ์–ธํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ๊ฐ์˜ ๊ด‘๋ฌผ ํด๋ž˜์Šค๋“ค์€ * Mineral ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋„๋ก ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  MineralCalculator ํด๋ž˜์Šค์˜ add ๋ฉ”์„œ๋“œ๋Š” ๋ชจ๋“  ๊ด‘๋ฌผ์„ ์˜ค๋ฒ„๋กœ๋”ฉํ•˜์ง€ ์•Š๊ณ  * Mineral ๊ฐ์ฒด๋งŒ ์ฒ˜๋ฆฌํ•˜๋„๋ก ์ˆ˜์ •ํ•œ๋‹ค. */ // public void add(Mineral mineral) { // this.value += 100; // } // // public void add(Silver silver) { // this.value += 90; // } // // public void add(Bronze bronze) { // this.value += 80; // } public int getValue() { return this.value; } } // ๋ฌธ์ œ 8 interface Predator_08 { } class Animal_08 { } class Dog_08 extends Animal_08 { } class Lion_08 extends Animal_08 implements Predator_08 { } // ๋ฌธ์ œ 9 interface Predator_09 { String bark(); } abstract class Animal_09 { public String hello() { return "hello"; } } class Dog_09 extends Animal_09 { } class Lion_09 extends Animal_09 implements Predator_09 { public String bark() { return "Bark bark!!"; } } public class T1_Test { public static void main(String[] args) { // ๋ฌธ์ œ 1 == ์ •๋‹ต!! Calculator calA = new Calculator(); calA.add(10); System.out.println(calA.getValue()); // 10 ์ถœ๋ ฅ // Calculator ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•˜๋Š” UpgradeCalculator๋ฅผ ๋งŒ๋“ค๊ณ  ๊ฐ’์„ ๋บ„ ์ˆ˜ ์žˆ๋Š” minus ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด ๋ณด์ž. // ์ฆ‰ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋™์ž‘ํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. UpgradeCalculator calB = new UpgradeCalculator(); calB.add(10); calB.minus(3); System.out.println(calB.getValue()); // 10์—์„œ 7์„ ๋บ€ 3์„ ์ถœ๋ ฅ // ๋ฌธ์ œ 2 == ๋‹ค๋ฅธ ์ •๋‹ต // ๊ฐ์ฒด๋ณ€์ˆ˜ value๊ฐ€ 100 ๋ณด๋‹ค ํฐ ๊ฐ’์€ ๊ฐ€์งˆ ์ˆ˜ ์—†๋„๋ก ์ œํ•œํ•˜๋Š” MaxLimitCalculator ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด ๋ณด์ž. // ์ฆ‰ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋™์ž‘ํ•ด์•ผ ํ•œ๋‹ค. MaxLimitCalculator calC = new MaxLimitCalculator(); calC.add(50); calC.add(70); // calC.returnValue(); // void ์‚ฌ์šฉ System.out.println(calC.getValue()); // 100 ์ถœ๋ ฅ // ๋ฌธ์ œ 3 == ๋‹ค๋ฅธ ์ •๋‹ต // ๋‹ค์Œ์˜ ํด๋ž˜์Šค์— ์ฃผ์–ด์ง„ ์ •์ˆ˜๊ฐ€ ํ™€์ˆ˜์ธ์ง€ ์ง์ˆ˜์ธ์ง€ ํŒ๋ณ„ํ•ด ์ฃผ๋Š” ๋ฉ”์„œ๋“œ(isOdd)๋ฅผ ์ถ”๊ฐ€ํ•ด ๋ณด์ž. // (ํ™€์ˆ˜์ด๋ฉด true, ์ง์ˆ˜๋ฉด false๋ฅผ ๋ฆฌํ„ดํ•ด์•ผ ํ•œ๋‹ค.) Calculator CalD = new Calculator(); CalD.isOdd(57); // ํ™€์ˆ˜์ด๋ฉด true, ์ง์ˆ˜๋ฉด false // ๋ฌธ์ œ 4 == ๋‹ค๋ฅธ ์ •๋‹ต // ๋‹ค์Œ ํด๋ž˜์Šค์— ์ •์ˆ˜ ๋ฐฐ์—ด ๋˜๋Š” ์ •์ˆ˜์˜ ๋ฆฌ์ŠคํŠธ ์ž…๋ ฅ์‹œ ๊ทธ ํ‰๊ท ๊ฐ’์„ ๊ตฌํ•ด ์ •์ˆ˜๋กœ ๋ฆฌํ„ดํ•˜๋Š” avg ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด ๋ณด์ž. int[] data = { 1, 3, 5, 7, 9 }; Calculator calE = new Calculator(); int result = calE.avg(data); System.out.println(result); // 5 ์ถœ๋ ฅ // ๋ฌธ์ œ 5 == ํ‹€๋ฆผ : ์˜ค๋‹ต๋ฉ”๋ชจ ํ™•์ธ // ๋‹ค์Œ ํ”„๋กœ๊ทธ๋žจ์˜ ์ถœ๋ ฅ๊ฒฐ๊ณผ๋ฅผ ์˜ˆ์ธกํ•˜๊ณ  ๊ทธ ์ด์œ ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์‹œ์˜ค. // import java.util.ArrayList; // import java.util.Arrays; // // public class Sample { // public static void main(String[] args) { // ArrayList<Integer> a = new ArrayList<>(Arrays.asList(1, 2, 3)); // == ๋ฐฐ์—ด๋ฆฌ์ŠคํŠธ ์ˆซ์žํ˜•ํƒœ a ๋ณ€์ˆ˜ ์ •์˜ 1, 2, 3 // ArrayList<Integer> b = a; // == b = a? // a.add(4); // == a ๋ณ€์ˆ˜์— 4 ์ถ”๊ฐ€ // ๋‹ต์•ˆํ™•์ธ : System.out.println(a==b); // true ์ถœ๋ ฅ // System.out.println(b.size()); // == b ๋ณ€์ˆ˜์˜ ๋ฐฐ์—ด๋ฆฌ์ŠคํŠธ ํฌ๊ธฐ(์‚ฌ์ด์ฆˆ)? // } // } // ๋‚˜์˜ ์˜ˆ์ƒ ์ถœ๋ ฅ : 1, 2, 3 / ์• ์ดˆ์— ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ’์„ ์ƒ๊ฐํ•˜๊ณ  ์ž‘์„ฑํ•จ..;; // ์ด์œ  : a ๋ณ€์ˆ˜์— ์ถ”๊ฐ€ ์‹œ ํ”„๋กœ๊ทธ๋žจ ์ˆœ์„œ์— ๋”ฐ๋ฅธ b ๋ณ€์ˆ˜์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Œ์œผ๋กœ b ์˜ ์ถœ๋ ฅ๊ฐ’์€ a ์˜ ์ดˆ๊ธฐ๊ฐ’์ด ๋œ๋‹ค. // ์ •๋‹ต : 4๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค. // ์ด์œ  : b ์™€ a ๋Š” ๋ชจ๋‘ ๋™์ผํ•œ ๋ฆฌ์ŠคํŠธ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ // ์ด์œ  ํ’€์ด : ๋Œ€์ถฉ b ๊ฐ์ฒด๊ฐ€ a ๊ฐ์ฒด์™€ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— a ๊ฐ์ฒด ๋ฆฌ์ŠคํŠธ์— ๊ฐ’์ด ์ถ”๊ฐ€๋˜์–ด์„œ ์ด 4 ๋ผ๋Š” ๊ฒฐ๊ณผ๊ฐ’์ด ๋‚˜์˜จ๋‹ค. // a ๊ฐ์ฒด์™€ b ๊ฐ์ฒด์˜ ๋…๋ฆฝ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด, ArrayList<Integer> b = new ArrayList<>(a); ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์‹ ๊ทœ // ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. // ๋ฌธ์ œ 6 == ๋‹ค๋ฅธ ์ •๋‹ต : ์ถœ์ œ์ž์˜ ์˜๋„๊ฐ€ ์•„๋‹Œ ๋“ฏํ•œ ๋‹ต๋ณ€ // ๋‹ค์Œ์€ Calculator ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ฐ’์„ ๋”ํ•œ ํ›„์— ๊ทธ ๊ฒฐ๊ณผ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ์˜ˆ์ œ์ด๋‹ค. ํ•˜์ง€๋งŒ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. // Calculator ํด๋ž˜์Šค๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ๋‹ค์Œ์˜ ์ฝ”๋“œ์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ํ•˜์‹œ์˜ค. Calculator_06 cal = new Calculator_06(); cal.add(3); // ์—ฌ๊ธฐ์„œ NullPointerException ์ด ๋ฐœ์ƒํ•œ๋‹ค. System.out.println(cal.getValue()); // Integer ์˜ ์ž˜๋ชป๋œ ํ‘œ๊ธฐ๋กœ int ๋กœ ๋ณ€๊ฒฝํ›„ ์‹คํ–‰ํ•˜๋ฉด ์ •์ƒ ์ž‘๋™ // ๋ฌธ์ œ 7 ๋ชปํ’€์—ˆ๋‹ค : ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•œ ์ดํ•ด๋„ ๋ถ€์กฑ : ๋‹ค์‹œ ๊ณต๋ถ€ ํ•„์š” // ๋‹ค์Œ์€ ๊ด‘๋ฌผ์˜ ๊ฐ€์น˜๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” MineralCalculator ํด๋ž˜์Šค์™€ ๊ทธ ์‚ฌ์šฉ๋ฒ•์ด ๋‹ด๊ธด ์ฝ”๋“œ์ด๋‹ค. // ๊ด‘๋ฌผ ๊ณ„์‚ฐ๊ธฐ๋Š” ๊ธˆ์ธ ๊ฒฝ์šฐ 100, ์€์ธ ๊ฒฝ์šฐ 90, ๊ตฌ๋ฆฌ์˜ ๊ฒฝ์šฐ๋Š” 80์˜ ๊ฐ€์น˜๋ฅผ ๋”ํ•˜๋Š” ๊ธฐ๋Šฅ(add ๋ฉ”์Šค๋“œ)์ด ์žˆ๋‹ค. // ํ•˜์ง€๋งŒ ์ด ๊ด‘๋ฌผ ๊ณ„์‚ฐ๊ธฐ๋Š” ๊ด‘๋ฌผ์ด ์ถ”๊ฐ€๋  ๋•Œ๋งˆ๋‹ค add ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. // ๊ด‘๋ฌผ์ด ์ถ”๊ฐ€๋˜๋”๋ผ๋„ MineralCalculator ํด๋ž˜์Šค๋ฅผ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†๋„๋ก ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜์‹œ์˜ค. MineralCalculator cal_07 = new MineralCalculator(); cal_07.add(new Gold()); cal_07.add(new Silver()); cal_07.add(new Bronze()); System.out.println(cal_07.getValue()); // 270 ์ถœ๋ ฅ // ๋ฌธ์ œ 8 == ์ •๋‹ต // ๋‹ค์Œ์˜ ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  1๋ฒˆ, 2๋ฒˆ, 3๋ฒˆ, 4๋ฒˆ, 5๋ฒˆ ๋ฌธ์žฅ ์ค‘์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์žฅ์„ ๋ชจ๋‘ ์ฐพ๊ณ  ์˜ค๋ฅ˜์˜ ์›์ธ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์‹œ์˜ค. Animal_08 a_08 = new Animal_08(); // 1๋ฒˆ pass Animal_08 b_08 = new Dog_08(); // 2๋ฒˆ pass Animal_08 c_08 = new Lion_08(); // 3๋ฒˆ pass Dog_08 d_08 = new Animal_08(); // 4๋ฒˆ error // ์›์ธ : ์ž์‹ ํด๋ž˜์Šค๊ฐ€ ๋ถ€๋ชจ ํด๋ž˜์Šค๋ฅผ ๊ฐ„์„ญํ•˜์ง€ ๋ชปํ•œ๋‹ค. // ์ถ”๊ฐ€ ํ•ด์„ค : IS-A ๊ด€๊ณ„ ์„ฑ๋ฆฝ์ด ๋˜์ง€ ์•Š๋Š”๋‹ค. : IS-A ๊ด€๊ณ„์— ๋Œ€ํ•ด์„œ ์ž์„ธํžˆ ์ฐพ์•„๋ณด๊ธฐ Predator_08 e_08 = new Lion_08(); // 5๋ฒˆ pass? // ๋ฌธ์ œ 9 == ์ •๋‹ต : ์›์ธ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ข€ ๋” ๊ตฌ์ฒด์ ์ด๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ํ’€์–ด๋ณด๊ธฐ // ๋‹ค์Œ์˜ ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  1๋ฒˆ, 2๋ฒˆ, 3๋ฒˆ, 4๋ฒˆ, 5๋ฒˆ, 6๋ฒˆ ๋ฌธ์žฅ ์ค‘์—์„œ // ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์žฅ์„ ๋ชจ๋‘ ์ฐพ๊ณ  ์˜ค๋ฅ˜์˜ ์›์ธ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜์‹œ์˜ค. Animal_09 a_09 = new Lion_09(); Lion_09 b_09 = new Lion_09(); Predator_09 c_09 = new Lion_09(); System.out.println(a_09.hello()); // 1๋ฒˆ pass System.out.println(a_09.bark()); // 2๋ฒˆ error // ์›์ธ : ์ธํ„ฐํŽ˜์ด์Šค ํด๋ž˜์Šค๋Š” ํด๋ž˜์Šค ์ง€์ • ํ›„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ? // ์ถ”๊ฐ€ ํ•ด์„ค : Animal ํƒ€์ž…์˜ ๊ฐ์ฒด๋Š” hello ๋ฉ”์†Œ๋“œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ System.out.println(b_09.hello()); // 3๋ฒˆ pass System.out.println(b_09.bark()); // 4๋ฒˆ pass System.out.println(c_09.hello()); // 5๋ฒˆ error // ์›์ธ : ์ถ”์ƒํด๋ž˜์Šค์ธ Animal์€ ์ธํ„ฐํŽ˜์ด์Šค ํด๋ž˜์Šค๋กœ ๋ถˆ๋Ÿฌ์˜จ ๊ฐ์ฒด์˜ ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†๋‹ค? // ์ถ”๊ฐ€ ํ•ด์„ค : c ๊ฐ์ฒด๊ฐ€ Predator ํƒ€์ž…์œผ๋กœ ์ƒ์„ฑ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ, Predator ํƒ€์ž…์˜ ๊ฐ์ฒด๋Š” bark ๋ฉ”์†Œ๋“œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ System.out.println(c_09.bark()); // 6๋ฒˆ pass } }

 

 


 

 

์—ฐ์Šต ๋ฌธ์ œ๊ฐ€ 1~9๋ฌธ์ œ๊นŒ์ง€ ์žˆ๋Š”๋ฐ ํ•˜๋‚˜์˜ java ํŒŒ์ผ๋กœ ํ’€๊ณ  ํ•˜๋‹ค๋ณด๋‹ˆ ๋’ค๋Šฆ๊ฒŒ ๋ดค์„ ๋• ์†์„ ๋Œˆ ์ˆ˜ ์—†์—ˆ๋‹ค..

๋„ˆ๊ทธ๋Ÿฌ์šด ๋งˆ์Œ์œผ๋กœ ๋ด์ฃผ๊ธธ ๋ฐ”๋ž€๋‹ค.

(์•„๋ฌด๋„ ์•ˆ๋ณด๋Š”๊ฑฐ ์•ˆ๋‹ค)

 

์˜ค๊ณต์™„!

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.