์๊ฐ ๋์
Do it! ์๋ฐ ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ
๊ณต๋ถ ๋ชฉํ
- java ๋ณต์ต (1)
- ํ๋ถ ๋ ์๊ฐํ๋ java ์ธ์ด ๊ธฐ๋ณธ ๋ณต์ต
- ๋ณต์ต ๋ด์ฉ : ์๋ฃํ, ์ฐ์ฐ์, ์ ์ด๋ฌธ, ํด๋์ค์ ๊ฐ์ฒด
- java ๊ณต๋ถ (2)
- ํ๋ถ ๋ ์๊ฐํ์ผ๋ ๋์ถฉ ๊ณต๋ถํ๊ณ ๋์ด๊ฐ๋ ๋ถ๋ถ ๋ณต์ต
- ๋ณต์ต ๋ด์ฉ
- ํด๋์ค์ ๊ฐ์ฒด : ์ธํฐํ์ด์ค, ์์ฑ์
- this ์์ฝ์ด
- ์ฑ๊ธํค ํจํด (static ์์ฉ) - => ์ง๋๋ฒ์ ์ฌ๊ธฐ๊น์ง
- ArrayList
- ์์๊ณผ ๋คํ์ฑ : super, ๋ค์ด์บ์คํ , instanceof
- ์ถ์ ํด๋์ค
- ์ธํฐํ์ด์ค์ ๋คํ์ฑ
- java jdk ๊ณต๋ถ
- ๊ธฐ๋ณธ ํด๋์ค (Object, String, Wrapper, Class)
- ์ปฌ๋ ์ ํ๋ ์์ํฌ (์ ๋ค๋ฆญ ๋ฑ)
- ๋ด๋ถ ํด๋์ค, ๋๋ค, ์คํธ๋ฆผ
- ์์ธ์ฒ๋ฆฌ
- ์คํธ๋ฆผ ์ ์ถ๋ ฅ, ์ง๋ ฌํ์ ์ญ์ง๋ ฌํ
์ฃผ๋ก ์ฐ๋ ์ถ์ฝ์ด
- src : ๋ณต์ฌํ ๋ฐฐ์ด ์ด๋ฆ
- srcPos : ๋ณต์ฌํ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์น
- dest : ๋ณต์ฌํด์ ๋ถ์ฌ ๋ฃ์ ๋์ ๋ฐฐ์ด ์ด๋ฆ
- destPos : ๋ณต์ฌํด์ ๋์ ๋ฐฐ์ด์ ๋ถ์ฌ ๋ฃ๊ธฐ๋ฅผ ์์ํ ์ฒซ ๋ฒ์งธ ์์น
ํ์ค ์ ๋ ธํ ์ด์
-
์ ๋ ธํ ์ด์
์ ์ปดํ์ผ๋ฌ์๊ฒ ๋ฉ์๋์ ํน์ ์ ๋ณด๋ฅผ ์ ๊ณตํด์ค๋ค. -
@Override
: ์ฌ์ ์๋ ๋ฉ์๋๋ผ๋ ์ ๋ณด ์ ๊ณต -
@FunctionalInterface
: ํจ์ํ ์ธํฐํ์ด์ค๋ผ๋ ์ ๋ณด -
@Deprecated
: ์ดํ ๋ฒ์ ์์ ์ฌ์ฉ๋์ง ์์ ์ ์๋ ๋ณ์, ๋ฉ์๋์ ์ฌ์ฉ๋๋ค -
@SuppressWarnings
: ํน์ ๊ฒฝ๊ณ ๊ฐ ๋ํ๋์ง ์๋๋ก ํจ
๊ฐ์ ๋ฉ์๋
package inheritance;
public class OverridingTest2 {
public static void main(String[] args) {
Customer vc = new VIPCustomer(10030, "ํ๊ธธ๋", 2000);
vc.bonusPoint = 1000;
System.out.println(vc.getCustomername() + " ๋์ด ์ง๋ถํด์ผ ํ๋ ๊ธ์ก์ " + vc.calcPrice(10000) + "์์
๋๋ค.");
}
}
- VIPCustomer๋ Customerํ์ ์์๋ฐ๋ ํด๋์ค์ด๊ณ , calcPrice()๋ VIPCustomer์์ ์ฌ์ ์๋จ.
- ์๋๋ ์ ์ธํ ํด๋์คํ(Customer)์ ๋ฐ๋ผ ๋ฉค๋ฒ ๋ณ์์ ๋ฉ์๋๊ฐ ํธ์ถ๋์ด์ผ ํ์ง๋ง, ์์์์ ์์ ํด๋์ค์ ํ์ ํด๋์ค์ ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๊ฐ ์กด์ฌํ ๋ ํธ์ถ๋๋ ๋ฉ์๋๋
์ธ์คํด์ค
์ ์ํด ๊ฒฐ์ ๋๋ค. - ์ด๋ ๊ฒ ์ธ์คํด์ค์ ๋ฉ์๋๊ฐ ํธ์ถ๋๋ ๊ธฐ์ ์
๊ฐ์ ๋ฉ์๋(Virtual Method)
๋ผ ํ๋ค. - ํด๋์ค๋ฅผ ์์ฑํ์ฌ ์ธ์คํด์ค๊ฐ ๋ง๋ค์ด์ง๋ฉด ๋ฉค๋ฒ ๋ณ์๋ ํ ๋ฉ๋ชจ๋ฆฌ์ ์์นํ๋ค. ๋ฉ์๋๋ ์คํํด์ผ ํ ๋ช
๋ น ์งํฉ์ด๊ธฐ ๋๋ฌธ์,
๋ฉ์๋ ์์ญ(์ฝ๋ ์์ญ)
์ ์ ์ฅ๋๋ค. ๋ฐ๋ผ์ ์ธ์คํด์ค๊ฐ ๋ฌ๋ผ๋ ๋์ผํ ๋ฉ์๋๊ฐ ์คํ๋๋ค. -
๊ฐ์ ๋ฉ์๋
์ ๊ฒฝ์ฐ์๊ฐ์ ๋ฉ์๋ ํ ์ด๋ธ
์ด ์์ฑ๋๋ค. ๊ฐ์ ๋ฉ์๋ ํ ์ด๋ธ์ ๊ฐ ๋ฉ์๋ ์ด๋ฆ๊ณผ, ํด๋น ๋ฉ์๋๊ฐ ์ ์ฅ๋์ด ์๋ ๋ฉ์๋ ์์ญ์ ๊ฐ๋ฆฌํค๋ ๋ฉ์๋ ์ฃผ์๊ฐ ์ง์ ์ด๋ฃจ๊ณ ์๊ณ , ์ด๋ค ๋ฉ์๋๊ฐ ํธ์ถ๋๋ฉด ์ด ํ ์ด๋ธ์์ ์ฃผ์๊ฐ์ ์ฐพ์์ ๋ฉ์๋ ์์ญ์ผ๋ก ๋์ด๊ฐ๊ฒ ๋๋ค.