๋จ๊ถ์ฑ ์ ์์ ๊ฐ์๋ฅผ ๋ณด๊ณ ch7์ ๊ฐ๋จํ ์ ๋ฆฌํด๋ณด์๋ค!
๋ฐ๋ณต์ ๋ฐ๋ณต์ ๋ฐ๋ณต์ ํ์ต์ค
https://youtu.be/0xzi_FQm0ek?si=_0mSFaiNFO5hDtQ8
https://dovnaldisn.tistory.com/141
[Java] ์ค๋ฒ๋ผ์ด๋ฉ(override)์ด๋? ์ค๋ฒ๋ผ์ด๋ฉ vs ์ค๋ฒ๋ก๋ฉ / ์ค๋ฒ๋ผ์ด๋ฉ์ ์กฐ๊ฑด
์ค๋ฒ๋ผ์ด๋ฉ ์ค๋ฒ๋ผ์ด๋ฉ์ ์ฌ์ ์ ์๋ฏธ๋ ์ด๋ป๊ฒ ๋ ๊น? override : ~์์ ๋ฎ์ด์ฐ๋ค(overwrite)์กฐ์ํด๋์ค๋ก๋ถํฐ ์์๋ฐ์ ๋ฉ์๋์ ๋ด์ฉ์ ๋ณ๊ฒฝํ๋ ๊ฒ์์๋ฐ์ ๋ฉ์๋๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๊ธฐ๋ ํ์ง
dovnaldisn.tistory.com
์ด ๊ธ์ ์ค๋ฒ๋ผ์ด๋ฉ์์ ๋ณด๋ค ์์ธํ๊ฒ ์ ์ ํฌ์คํ ์ด๋ค.
์ค๋ฒ๋ผ์ด๋ฉ
์์๋ฐ์ ์กฐ์์ ๋ฉ์๋๋ฅผ ์์ ์ ๋ง๊ฒ ๋ณ๊ฒฝํ๋ ๊ฒ
(override : ๋ฎ์ด์ฐ๋ค)
class Point {
int x;
int y;
String getLocation() {
return "x :" + x + ", y: : " + y;
}
}
class Point3D extends Point {
int z;
String getLocation() {
return "x :" + x + ", y: : " + y + ",z : " + z;
}
}
์ฌ๊ธฐ์ Point3D์ getLocation() ๋ฉ์๋๊ฐ ์ค๋ฒ๋ผ์ด๋ฉํ๋ค๊ณ ๋ณผ ์ ์๋ค.
class MyPoint3 extends Object {
int x;
int y;
MyPoint3(int x, int y) {
this.x = x;
this.y = y;
}
// Objectํด๋์ค์ toString()์ ์ค๋ฒ๋ผ์ด๋ฉ
public String toString() {
return "x :" + x + ", y: : " + y;
}
}
public class OverrideTest{
public static void main(String[] args) {
MyPoint3 p = new MyPoint3(1,2);
System.out.println(p); // x : 1, y : 2
}
}
Object์ ์๋ toString() ๋ฉ์๋๋ฅผ MyPoint3์์ ์ค๋ฒ๋ผ์ด๋ฉํ ๊ฒ์ด๋ค.
์ค๋ฒ๋ผ์ด๋ฉ์ ์กฐ๊ฑด
1๏ธโฃ ์ ์ธ๋ถ๊ฐ ์กฐ์ํด๋์ค์ ๋ฉ์๋์ ์ผ์นํด์ผํ๋ค.
→ ์ ์ธ๋ถ(๋ฐํํ์ , ๋ฉ์๋ ์ด๋ฆ, ๋งค๊ฐ๋ณ์ ๋ชฉ๋ก)์ด ์ผ์นํด์ผ ํ๋ค.
2๏ธโฃ ์ ๊ทผ ์ ์ด์๋ฅผ ์กฐ์ ํด๋์ค์ ๋ฉ์๋๋ณด๋ค ์ข์ ๋ฒ์๋ก ๋ณ๊ฒฝํ ์ ์๋ค.
3๏ธโฃ ์์ธ๋ ์กฐ์ ํด๋์ค์ ๋ฉ์๋๋ณด๋ค ๋ง์ด ์ ์ธํ ์ ์๋ค.
์ค๋ฒ๋ก๋ฉ vs ์ค๋ฒ๋ผ์ด๋ฉ
์ค๋ฒ๋ก๋ฉ : ๊ธฐ์กด์ ์๋ ์๋ก์ด ๋ฉ์๋๋ฅผ ์ ์ํ๋ ๊ฒ(new)(์ด๋ฆ์ด ๊ฐ์)
์ค๋ฒ๋ผ์ด๋ฉ : ์์๋ฐ์ ๋ฉ์๋์ ๋ด์ฉ์ ๋ณ๊ฒฝํ๋ ๊ฒ(change, modify)
5๋ฒ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค!
'๐น๐๐๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA] ํจํค์ง, ํด๋์ค ํจ์ค (0) | 2024.11.17 |
---|---|
[JAVA] ์ฐธ์กฐ๋ณ์ super, ์์ฑ์ super() (0) | 2024.11.16 |
[JAVA] ์๋ฐ์ ์ ์ ๋จ์ผ์์, Object ํด๋์ค (0) | 2024.11.12 |
[JAVA] ์๋ฐ์ ์ ์ ํด๋์ค ๊ฐ์ ๊ด๊ณ, ์์๊ณผ ํฌํจ ๋ฐ ํ๋ก๊ทธ๋๋ฐ ํ (1) | 2024.11.11 |
[JAVA] ์๋ฐ์ ์ ์ ch7-1, 2 ์์ (1) | 2024.11.10 |