1) ν¨ν€μ§
1-1) ν¨ν€μ§μ μλ―Έ
- ν΄λμ€ νμΌμ λ¬Άμ΄μ κ΄λ¦¬νκΈ° μν μλ¨μΌλ‘ νμΌ μμ€ν μ ν΄λλ₯Ό μ΄μ©
- ν¨ν€μ§λ§λ€ λ³λμ μ΄λ¦ 곡κ°μ΄ μκΈ°κΈ° λλ¬Έμ ν΄λμ€ μ΄λ¦μ μ¬μ©νλλΌλ λ€λ₯Έ ν¨ν€μ§μ μμ±ν ν ν΅ν©νλ€λ©΄ ν΄λμ€ νμΌμ΄ μ€λ³΅λμ§ μλλ€
- ν΄λμ€λ₯Ό ν¨ν€μ§ λ¨μλ‘λ μ μ΄ν μ μκΈ° λλ¬Έμ μ’ λ μΈλ°νκ² μ κ·Όμ μ μ΄ν μ μλ€
** λνμ μΈ ν¨ν€μ§
- java.lang ν¨ν€μ§λ import λ¬Έμ μ μΈνμ§ μμλ μλμΌλ‘ μν¬νΈλλ μλ°μ κΈ°λ³Έ ν΄λμ€λ₯Ό λͺ¨μλ κ²
- java.awt ν¨ν€μ§λ κ·Έλν½ νλ‘κ·Έλλ°μ κ΄λ ¨λ ν΄λμ€λ₯Ό λͺ¨μλ κ²
- java.io ν¨ν€μ§λ μ μΆλ ₯κ³Ό κ΄λ ¨λ ν΄λμ€λ₯Ό λͺ¨μ λ κ²
1-2) ν¨ν€μ§ μ μΈ
- μ£Όμλ¬Έμ μ μΈνκ³ λ λ°λμ 첫 νμ μ μΈ
- ν¨ν€μ§ μ΄λ¦μ λͺ¨λ μλ¬Έμλ‘ λͺ λͺ νλ κ²μ΄ κ΄λ‘μ΄κ³ μΌλ°μ μΌλ‘ ν¨ν€μ§ μ΄λ¦μ΄ μ€λ³΅λμ§ μλλ‘ νμ¬μ λλ©μΈ μ΄λ¦μ μμμΌλ‘ μ¬μ©νλ€
1-3) ν¨ν€μ§μ μ¬μ©
- λ€λ₯Έ ν¨ν€μ§μ μλ 곡κ°λ ν΄λμ€λ₯Ό μ¬μ©νλ €λ©΄ ν¨ν€μ§ κ²½λ‘λ₯Ό μ»΄νμΌλ¬μκ² μλ € μ£Όμ΄μΌ νλ€.
- ν¨ν€μ§ μ΄λ¦μ μ λμ΄λ‘ μ¬μ©ν΄ λ€λ₯Έ ν¨ν€μ§μ μλ ν΄λμ€λ₯Ό μ΄μ©νλ€. ex) new com.usa.people.Lincoln();
- μλ°λ μ¬μ©νλ €λ ν¨ν€μ§ κ²½λ‘λ₯Ό 미리 μ»΄νμΌλ¬μ μλ € μ€ μ μλλ‘ λ€μκ³Ό κ°μ΄ import λ¬Έμ μ¬μ©νλ€
- import λ¬Έμ μμ€ νμΌμμ package λ¬Έκ³Ό 첫 λ²μ§Έ ν΄λμ€ μ μΈλΆ μ¬μ΄μ μμΉνλ€
package java04;
import com.usa.people.Lincoln;
public class ShowWorldPeople {
public static void main(String[] args) {
Lincoln greatman = new Lincoln();
}
}
- μ»΄νμΌλ¬μ Lincoln ν΄λμ€μ κ²½λ‘λ₯Ό μλ €μ€λ€
- import λ¬ΈμΌλ‘ κ²½λ‘λ₯Ό μλ € μ£ΌμμΌλ―λ‘ com.usa.peopleμ΄λΌλ κ²½λ‘ μ 보λ νμ μλ€
2) μμ ν΄λμ€μ λΆλͺ¨ μμ±μ
- μμ±μλ ν΄λμ€ λ©€λ²κ° μλλ―λ‘ μμ ν΄λμ€μ μμλμ§λ μλλ€
- νμ§λ§ λΆλͺ¨μκ²μ λ¬Όλ €λ°μ λ©€λ²κ° μλ€λ©΄ μμ ν΄λμ€λ μ΄λ₯Ό μ΄κΈ°ννκΈ° μν΄ λΆλͺ¨ ν΄λμ€μ μμ±μκ° νμνλ€
- μμ μμ±μμ 첫 νμ λΆλͺ¨ μμ±μλ₯Ό νΈμΆνλ μ½λκ° μλ€
3) μμκ³Ό μ κ·Όμ μ΄
3-1) μ κ·Ό μ§μ μμ μ κ·Ό λ²μ
- μλ°λ ν΄λμ€μ ν΄λμ€ λ©€λ²λ₯Ό λ€λ₯Έ κ°μ²΄μ 곡κ°νλ λ²μλ₯Ό λͺ μνλ €κ³ private, protected, publicμ΄λΌλ μ κ·Ό μ§μ μ(access modifier)λ₯Ό μ 곡νλ€
μ κ·Ό μ§μ μ | λμΌ ν΄λμ€ | λμΌ ν¨ν€μ§ | μμ ν΄λμ€ | λ€λ₯Έ ν¨ν€μ§ |
public | o | o | o | o |
protected | o | o | o | x |
μμ(default) | o | o | x | x |
private | o | x | x | x |
- λ€λ₯Έ ν΄λμ€μ 곡κ°νλ €λ©΄ public, μμ ν΄λμ€μλ§ κ³΅κ°νλ €λ©΄ protected, 곡κ°νμ§ μμΌλ©΄ privateμΌλ‘ μ§μ νλ€. μ κ·Ό μ§μ μλ‘ μ§μ νμ§ μμ λλ ν΄λΉ ν¨ν€μ§μμλ§ κ³΅κ°λλλ°, μ΄λ₯Ό λν΄νΈ μ κ·Ό μ§μ μ΄λΌκ³ νλ€
- private λ©€λ²λ μμ ν΄λμ€μ μμλμ§ μλλ€
- ν΄λμ€ λ©€λ²λ μ΄λ€ μ κ·Ό μ§μ μλ‘λ μ§μ ν μ μμ§λ§, ν΄λμ€λ protectedμ privateμΌλ‘ μ§μ ν μ μλ€
- λ©μλλ₯Ό μ€λ²λΌμ΄λ©ν λ λΆλͺ¨ ν΄λμ€μ λ©μλλ³΄λ€ λ μ’μ μ κ·Ό μ§μ μ ν μ μλ€.
4) final ν΄λμ€μ λ©μλ
4-1) final ν΄λμ€
- λ μ΄μ μμν μ μλ μ’ λ¨ ν΄λμ€λ₯Ό μλ―Έ
- final ν΄λμ€μ λͺ©μ μ μμ ν΄λμ€λ₯Ό μ μν΄ λΉκ³΅κ° μ 보μ μ κ·Όνκ±°λ μμ€ν μ νκ΄΄νλ κ²½μ°λ₯Ό λ°©μ§νλ κ²μ΄λ€
- μλ° νμ€ APIκ° μ 곡νλ String ν΄λμ€λ λνμ μΈ final ν΄λμ€λ‘ λ€μκ³Ό κ°μ΄ μμ ν΄λμ€λ₯Ό μ μΈνλ€λ©΄ μ€λ₯κ° λ°μνλ€
ex) class ChildString extends String {..} => Stringμ final ν΄λμ€μ΄λ―λ‘ λΆλͺ¨ ν΄λμ€κ° λ μ μλ€
4-2) final λ©μλ
- final λ©μλλ λ μ΄μ μ€λ²λΌμ΄λ©ν μ μλ μ’ λ¨ λ©μλμ΄λ€
- λ°λΌμ λΆλͺ¨ ν΄λμ€μμ μ μν final λ©μλλ₯Ό μμ ν΄λμ€λ μμ μμ΄ κ·Έλλ‘ μ¬μ©ν΄μΌ νλ€
- νΉμ λ©μλλ§ μ€λ²λΌμ΄λ©νμ§ μλλ‘ νλ €λ©΄ final λ©μλλ‘ μ μΈνλ€
class Chess {
enum ChessPlayer {
WHITE, BLACK
}
final ChessPlayer getFirstPlayer() {
return ChessPlayer.WHITE;
}
}
class WorldChess extends Chess {
// ChessPlayer getFirstPlayer() {}
}
public class FinalMethodDemo {
public static void main(String[] args) {
WorldChess w = new WorldChess();
w.getFirstPlayer();
}
}
=> μ²΄μ€ κ²μμ ν°μ μ μκ° λ¨Όμ μμνλ κ²μ΄ κ΄λ‘μ΄λ―λ‘ μμ μμλ₯Ό λ°κΎΈμ§ μμμΌ νλ―λ‘ μ²΄μ€μ μμ μ μλ₯Ό μ νλ λ©μλλ₯Ό finalλ‘ μ§μ γ ν΄μ κ²μμ μμλ₯Ό κ³ μ ν μμ μ΄λ€