์๋ฐํ๋ก๊ทธ๋๋ฐ1 14์ฃผ์ฐจ ๊ฐ์_ํ๊ธฐ
1์ฐจ์
๋ฉ์๋ ์ค๋ฒ๋ผ์ด๋ฉ // ๋ถ๋ชจ ํด๋์ค ๋ฉ์๋๋ฅผ ์์ ํด๋์ค์์ ์ฌ์ ์ ํ๋ ๊ฒ, ๋ฉ์๋ ๋ฎ์ด์ฐ๊ธฐ๋ผ๊ณ ๋ ํจ
๋ถ๋ชจ ํด๋์ค ๋ฉ์๋์ ์ด๋ฆ, ๋งค๊ฐ๋ณ์ ํ์
๋ฐ ๊ฐ์, ๋ฆฌํด ํ์
๋ฑ ๋ฉ์๋ ์ ์ธ๋ถ(๋ฉ์๋ ์๊ทธ๋์ฒ)๋ ๋ชจ๋ ๋์ผํ๊ฒ ์์ฑ // ์ค๋ฒ๋ก๋ฉ์ ๋งค๊ฐ๋ณ์์ ํ์
์ด๋ ๊ฐ์๊ฐ ๋ฌ๋ผ ๋ฉ์๋ ๊ตฌ๋ถ ๊ฐ๋ฅ
๋์ ๋ฐ์ธ๋ฉ ๋ฐ์ // ์์ ํด๋์ค์ ์ค๋ฒ๋ผ์ด๋ฉ๋ ๋ฉ์๋๊ฐ ๋ฌด์กฐ๊ฑด ์คํ
(1) ์์ ํด๋์ค ๋ ํผ๋ฐ์ค๋ก ์ค๋ฒ๋ผ์ด๋ฉ๋ ๋ฉ์๋ ํธ์ถ
(2) ์
์บ์คํ
๋ ๋ถ๋ชจ ํด๋์ค ๋ ํผ๋ฐ์ค๋ก ์ค๋ฒ๋ผ์ด๋ฉ๋ ๋ฉ์๋ ํธ์ถ // == ๋์ ๋ฐ์ธ๋ฉ
๋ฐ์ธ๋ฉ // ๊ฒฐํฉ
๋คํ์ฑ // ๊ฐ์ ์ด๋ฆ์ ์๋ก ๋ค๋ฅธ ๋ด์ฉ์ ๊ตฌํ
์ค๋ฒ๋ผ์ด๋ฉ์ ์คํ์๊ฐ์ ๋คํ์ฑ ์คํ // ๋์ ๋ฐ์ธ๋ฉ, ์ด๋ค ํด๋์ค ๊ฐ์ฒด๋ฅผ ์์ฑํ๋๋์ ๋ฐ๋ผ ์ค๋ฒ๋ผ์ด๋ฉ์ผ ๋ ์คํ๋๋ ๋ฉ์๋๊ฐ ๋ฌ๋ผ์ง๋ค. ์์ ๊ด๊ณ
์ค๋ฒ๋ก๋ฉ์ ์ปดํ์ผ์๊ฐ์ ๋คํ์ฑ ์คํ // ์ ์ ๋ฐ์ธ๋ฉ, ๋์ผ ํด๋์ค ๋๋ ์์ ๊ด๊ณ
2์ฐจ์
์ฌ๋์ ์๋ฌผ์ด๋ค. // Is a, ์์ ๊ด๊ณ
์๋์ฐจ๋ ๋ฐํด๋ฅผ ๊ฐ๋๋ค. // Has a, ํด๋์ค ๋ด ๋ค๋ฅธ ํด๋์ค ๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ ํฌํจ๋ ๊ด๊ณ
@Overide // ์์ ํด๋์ค์ ์ค๋ฒ๋ผ์ด๋ฉ๋ ๋ฉ์๋๊ฐ ์๋์ง ์ฐพ์๋ณด๊ณ ์์ผ๋ฉด ์ปดํ์ผ ์๋ฌ๋ฅผ ์ผ์ผํจ๋ค.
super ํค์๋ // ์์ ํด๋์ค์ ๋ฉค๋ฒ๋ฅผ ์ ๊ทผํ๊ธฐ์ํ ํค์๋, ์์ ํด๋์ค์ ๊ฐ์ ์ด๋ฆ์ ํ๋ ๋๋ ์ค๋ฒ๋ผ์ด๋ฉ๋ ๋ฉ์๋ ์ ๊ทผ ๊ฐ๋ฅ
์ค๋ฒ๋ผ์ด๋ฉ ๋ ์์ ํด๋์ค์ ๋ฉ์๋๋ ๊ตฌํํ ํ์๊ฐ ์๋ค.
๋ฐฉ๋ฒ1 pubilc String getName() {} // ์ ์๋ฅผ ๋น์๋๋ค. ์ด๋ฌ๋ฉด ์์ง ๊ฐ๋ฐ์ค์ด๋ผ๊ณ ํ์
์ ์คํด๋ฅผ ๋ถ๋ฌ ์ผ์ผํฌ ์ ์๋ค.
๋ฐฉ๋ฒ2 public abstract String getName(); // ์ ์๋ถ์ธ {} ๋ฐ๋ ์์ ์ฃผ์
์ถ์ ๋ฉ์๋ // abstract ํค์๋๋ก ์ ์ธ, ์๋ธ ํด๋์ค์์ ์ค๋ฒ๋ผ์ด๋ฉํ์ฌ ๊ตฌํํ์ฌ์ผ ํจ
์ถ์ ํด๋์ค // public abstract class Person {}
// ๋ฐ๋์ ์์๋์ด์ผ ํ๋ค. ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๋ค.
1. ์ถ์ ๋ฉ์๋๊ฐ ํ๋๋ผ๋ ์๋ ์ถ์ ํด๋์ค // ์์ํ์ฌ ์ถ์ ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉํ์ฌ ๊ตฌํํด์ผ ํ๋ค. ๊ตฌํํ์ง ์์ผ๋ฉด ๊ทธ ํด๋์ค๋ ์ถ์ ํด๋์ค๊ฐ ๋๋ค.
2. ์ถ์ ๋ฉ์๋๋ ์์ง๋ง ์ถ์ ํด๋์ค๋ก ์ ์ธ๋ ํด๋์ค
final ํด๋์ค๋ ๋ ์ด์ ์์ํ ์ ์๋ค. // ์ถ์ ํด๋์ค์ ๋ฐ๋
3์ฐจ์
์ถ์ํด๋์ค // ์ค๊ณํ ๋ ์ฌ์ฉ -> ์ค๊ณ์ ๊ตฌํ์ ๋ถ๋ฆฌํ๊ธฐ์ํด
์ธํฐํ์ด์ค // public interface Phone {}
7๊น์ง // ์์์ ์ถ์ ๋ฉ์๋๋ก๋ง ๊ตฌ์ฑ
8๋ถํฐ // 8 default ๋ฉ์๋, 9 private, static ๋ฉ์๋
์ธํฐํ์ด์ค๋ ํ๋ ์ ์ธ ๋ถ๊ฐ, ๊ฐ์ฒด ์์ฑ ๋ถ๊ฐ // ๋ ํผ๋ฐ์ค ์ ์ธ์ ๊ฐ๋ฅ
์์ public static final // ์๋ต ๊ฐ๋ฅ
์ถ์ ๋ฉ์๋ public abstract // ์๋ต ๊ฐ๋ฅ
ํด๋์ค์ ๊ตฌํ ํ์ // ํด๋์ค ์ด๋ฆ implements ์ธํฐํ์ด์ค ์ด๋ฆ
๊ตฌํ ์ ๋ชจ๋ ์ถ์ ๋ฉ์๋ ์ค๋ฒ๋ผ์ด๋ฉํ์ฌ ๊ตฌํ ํ์
๋ค๋ฅธ ์ธํฐํ์ด์ค ์์ ๊ฐ๋ฅ, ๋ค์ค ์์ ๊ฐ๋ฅ, ๋ค์ค ๊ตฌํ ๊ฐ๋ฅ
'1. Java ์๋ฐ > 1_0. ์ฑ , ๊ฐ์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๋ฐํ๋ก๊ทธ๋๋ฐ1] 11์ฃผ์ฐจ ๊ต์ฌ_๋ด์ฉ์ ๋ฆฌ (0) | 2022.05.18 |
---|---|
[์๋ฐํ๋ก๊ทธ๋๋ฐ1] 10์ฃผ์ฐจ ๊ต์ฌ_๋ด์ฉ์ ๋ฆฌ (0) | 2022.05.18 |
[์๋ฐํ๋ก๊ทธ๋๋ฐ1] 13์ฃผ์ฐจ ๊ฐ์_ํ๊ธฐ (0) | 2022.05.18 |
[์๋ฐํ๋ก๊ทธ๋๋ฐ1] 12์ฃผ์ฐจ ๊ฐ์_ํ๊ธฐ (0) | 2022.05.18 |
[์๋ฐํ๋ก๊ทธ๋๋ฐ1] 11์ฃผ์ฐจ ๊ฐ์_ํ๊ธฐ (0) | 2022.05.18 |