๋ฐ˜์‘ํ˜•
kkh1902
Steadily
kkh1902
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (151)
    • ๐Ÿ“š Study (1)
      • Spring (9)
      • Java (2)
      • Html, css (10)
      • JS, JQuery (29)
      • DB (5)
      • DevOps (13)
      • roadmap (2)
      • Architecture (1)
      • Flutter (2)
    • ๐Ÿ’ป Computer Science (28)
      • Datastructure (0)
      • Algorithm (2)
      • Design pattern (0)
      • Network (1)
      • DB (13)
      • Operating System (0)
      • Software Engineering (4)
      • CS interview (5)
      • topcit (3)
    • โš’๏ธ Etc (4)
      • Error (3)
      • Trouble_Shooting (1)
    • ๐Ÿ“ฐ News (0)
      • daily (7)
      • think (17)
    • ๐Ÿ“˜ Hobby (13)
      • English (13)
    • ๐Ÿค– AI (7)
      • ML (7)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿ“‹ ์ด๋ ฅ์„œ
  • โšก๏ธ ๊นƒํ—ˆ๋ธŒ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • Wonder # word
  • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ # chapter1
  • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ #project๋งŒ๋“ค๋•Œ ์ค‘์š”
  • testcode
  • think #bootstrap์„ ์จ์•ผํ•˜๋Š” ์ด์œ 
  • React๋ฅผ ๋ฐฐ์›Œ์•ผํ•˜๋Š” ์ด์œ 
  • Linear Regression
  • Qr_payment project # CSS ํ•ด์„ # Basic ๋งจ์œ„ ํ•ด์„
  • sourcetreee
  • gitaction
  • git stash
  • React JS # 2 The Basic of React
  • SpringBootTest
  • junit5
  • Flutter
  • React JS #์ž์Šต์„œ
  • React JS # ์ž์Šต์„œ # Component์™€ Props
  • git
  • db
  • React # JSX

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

250x250
hELLO ยท Designed By ์ •์ƒ์šฐ.
๊ธ€์“ฐ๊ธฐ / ๊ด€๋ฆฌ์ž
kkh1902

Steadily

๐Ÿ“š Study/Java

์˜ค๋ฒ„๋ผ์ด๋”ฉ(Overriding)

2022. 3. 16. 21:52
728x90
๋ฐ˜์‘ํ˜•
์ฐฝ์˜์ ์ธ ์ƒ์†
 
์ƒ์†์€ ์ƒ์œ„ ํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ์„ ํ•˜์œ„ ํด๋ž˜์Šค์—๊ฒŒ ๋ฌผ๋ ค์ฃผ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ํ•˜์œ„ ํด๋ž˜์Šค๋Š” ์ƒ์œ„ ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์ฃผ์–ด์ง„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ? ๋งŒ์•ฝ ๊ทธ๋ž˜์•ผ ํ•œ๋‹ค๋ฉด ์ œ์•ฝ์ด ์ƒ๋‹นํ•  ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฐ ์ œ์•ฝ์„ ๋ฒ—์–ด๋‚˜๋ ค๋ฉด ํ•˜์œ„ ํด๋ž˜์Šค๊ฐ€ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๊ธฐ๋ณธ์ ์ธ ๋™์ž‘๋ฐฉ๋ฒ•์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ด๋Ÿฐ ๋งฅ๋ฝ์—์„œ ๋„์ž…๋œ ๊ธฐ๋Šฅ์ด ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ(overriding)์ด๋‹ค.
 
๋งŒ์•ฝ ์ƒ์œ„ ํด๋ž˜์Šค์—์„œ ๋ฌผ๋ ค ๋ฐ›์€ ๋ฉ”์†Œ๋“œ sum์„ ํ˜ธ์ถœํ–ˆ์„ ๋•Œ ์•„๋ž˜์™€ ๊ฐ™์ด ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ข€ ๋” ์นœ์ ˆํ•˜๊ฒŒ ์•Œ๋ ค์ค˜์•ผ ํ•œ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ?
class SubstractionableCalculator extends Calculator {

    public void sum() {

        System.out.println("์‹คํ–‰ ๊ฒฐ๊ณผ๋Š” " +(this.left + this.right)+"์ž…๋‹ˆ๋‹ค.");
    }
}   
๋ฉ”์†Œ๋“œ sum์ด  SubstractionableCalculator์— ์ถ”๊ฐ€ ๋˜์—ˆ๋‹ค. ์‹คํ–‰๊ฒฐ๊ณผ๋Š” c1.sum์ด ์ƒ์œ„ ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ๊ฐ€ ์•„๋‹ˆ๋ผ ํ•˜์œ„ ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ sum์„ ์‹คํ–‰ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์—ฌ์ค€๋‹ค. ํ•˜์œ„ ํด๋ž˜์Šค ์ž…์žฅ์—์„œ ๋ถ€๋ชจ ํด๋ž˜์Šค๋ž€ ๋งํ•˜์ž๋ฉด ๊ธฐ๋ณธ์ ์ธ ๋™์ž‘ ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•œ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์œ„ ํด๋ž˜์Šค์—์„œ ์ƒ์˜ ํด๋ž˜์Šค์™€ ๋™์ผํ•œ ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•˜๋ฉด ๋ถ€๋ชจ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ๋ฌผ๋ ค ๋ฐ›์€ ๊ธฐ๋ณธ ๋™์ž‘ ๋ฐฉ๋ฒ•์„ ๋ณ€๊ฒฝํ•˜๋Š” ํšจ๊ณผ๋ฅผ ๊ฐ–๊ฒŒ ๋œ๋‹ค. ์ด๊ฒƒ์„ ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ(overriding)์ด๋ผ๊ณ  ํ•œ๋‹ค.
 
์˜ค๋ฒ„๋ผ์ด๋”ฉ์˜ ์กฐ๊ฑด
 
์ƒ์œ„ ํด๋ž˜์Šค์—์„œ ์ •์˜ํ•˜๊ณ  ์žˆ๋Š” ๋ฉ”์†Œ๋“œ avg๋Š” ๊ณ„์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๊ณ„์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ์ข€ ๋” ๋‹ค์–‘ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฉ”์†Œ๋“œ avg๊ฐ€ ํ™”๋ฉด์— ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋Œ€์‹  ๊ณ„์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํ„ดํ•ด์ฃผ๋ฉด ์ข‹๊ฒ ๋‹ค. ๊ทธ๋ž˜์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ๊ณ ์ณ๋ดค๋‹ค.

    public int avg() {

        return (this.left + this.right)/2;
    }
    

์ด๊ฒƒ์€ ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒํ•œ๋‹ค.

 
Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    The return type is incompatible with Calculator.avg()
 
    at org.opentutorials.javatutorials.overriding.example1.SubstractionableCalculator.avg(CalculatorDemo.java:26)
    at org.opentutorials.javatutorials.overriding.example1.CalculatorDemo.main(CalculatorDemo.java:40)
 
overriding์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฉ”์†Œ๋“œ์˜ ๋ฆฌํ„ด ํ˜•์‹์ด ๊ฐ™์•„์•ผ ํ•œ๋‹ค. 
 
์˜ค๋ฒ„๋ผ์ด๋”ฉ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•„๋ž˜์˜ ์กฐ๊ฑด์„ ์ถฉ์กฑ์‹œ์ผœ์•ผ ํ•œ๋‹ค.
  1. ๋ฉ”์†Œ๋“œ์˜ ์ด๋ฆ„
  2. ๋ฉ”์†Œ๋“œ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ˆซ์ž์™€ ๋ฐ์ดํ„ฐ ํƒ€์ž… ๊ทธ๋ฆฌ๊ณ  ์ˆœ์„œ
  3. ๋ฉ”์†Œ๋“œ์˜ ๋ฆฌํ„ด ํƒ€์ž…
 
์œ„์™€ ๊ฐ™์ด ๋ฉ”์†Œ๋“œ์˜ ํ˜•ํƒœ๋ฅผ ์ •์˜ํ•˜๋Š” ์‚ฌํ•ญ๋“ค์„ ํ†ตํ„ธ์–ด์„œ ๋ฉ”์†Œ๋“œ์˜ ์„œ๋ช…(signature)๋ผ๊ณ  ํ•œ๋‹ค. ์ฆ‰ ์œ„์˜ ์—๋Ÿฌ๋Š” ๋ฉ”์†Œ๋“œ๋“ค ๊ฐ„์˜ ์„œ๋ช…์ด ๋‹ฌ๋ผ์„œ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ๋‹ค.
 
์ด๋ ‡๊ฒŒํ•ด์„œ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ์„ ๋ณ€๊ฒฝ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ธ ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ดค๋‹ค.
728x90
๋ฐ˜์‘ํ˜•

'๐Ÿ“š Study > Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

java ์ฝ”๋”ฉ ๊ทœ์น™  (0) 2022.09.18
    '๐Ÿ“š Study/Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • java ์ฝ”๋”ฉ ๊ทœ์น™
    kkh1902
    kkh1902
    1Day 1 Commit ๋ชฉํ‘œ ๊ณต๋ถ€ํ•œ๊ฒƒ๋“ค ๋งค์ผ ๊ธฐ๋กํ•˜๊ธฐ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”