item 16 leekyunghee - JAVA-JIKIMI/EFFECTIVE-JAVA3 GitHub Wiki
public ν΄λμ€μμλ public νλκ° μλ μ κ·Όμ λ©μλλ₯Ό μ¬μ©νλΌ
- λ€μκ³Ό κ°μ ν΄λ³΄ν ν΄λμ€λ pulblic μ΄μ΄μλ μλ¨
- μΊ‘μνλ₯Ό μ 곡νμ§ λͺ»ν¨
- APIλ₯Ό μμ νμ§ μκ³ λ λ΄λΆ ννμ λ°κΏ μ μμ
- λΆλ³μμ 보μ₯ν μ μμ
- μΈλΆμμ νλμ μ κ·Όν λ λΆμμμ μ μν ν μ μμ
class Point {
public double x;
public double y;
}
- νλλ₯Ό λͺ¨λ privateλ‘ λ³κ²½
- public getter μΆκ°
class Point {
private double x;
private double y;
public Point(double x, double y) {
this.x = x;
this.y = y;
}
public double getX() {
return x;
}
public double getY() {
return y;
}
public void setX(double x) {
this.x = x;
}
public void setY(double y) {
this.y = y;
}
}
- ν¨ν€μ§ λ°κΉ₯μμ μ κ·Όν μ μλ ν΄λμ€λΌλ©΄ μ κ·Όμλ₯Ό μ 곡νλ―λ‘μ¨ ν΄λμ€ λ΄λΆμ νν λ°©μμ μΈμ λ μ§ λ°κΏ μ μμ
- public ν΄λμ€κ° νλλ₯Ό 곡κ°νλ©΄ μ΄λ₯Ό μ¬μ©νλ ν΄λΌμ΄μΈνΈκ° μ겨λ κ²μ΄λ―λ‘ λ΄λΆ νν λ°©μμ λ§μλλ‘ λ°κΏ μ μκ² λλ€.
package-private ν΄λμ€ νΉμ private μ€μ²© ν΄λμ€λΌλ©΄ λ°μ΄ν° νλλ₯Ό λ ΈμΆνλ€ ν΄λ νλΉμ λ¬Έμ κ° μλ€.
public ν΄λμ€μ νλλ₯Ό μ§μ λ ΈμΆνμ§ λ§λΌλ κ·μΉμ μ΄κΈ΄ μ¬λ‘
- java.awt.package
Point, Dimension class (item 67)
μΈμ€ν΄μ€ νλ λΆλ³μΌ κ²½μ° λ¨μ
- public ν΄λμ€μ νλκ° λΆλ³μ΄λΌλ©΄ μ§μ λ ΈμΆν λμ λ¨μ μ΄ μ‘°κΈμ μ€μ΄ λ€μ§λ§ APIλ₯Ό λ³κ²½νμ§ μκ³ λ νν λ°©μμ λ°κΏ μ μμ
- νλλ₯Ό μ½μ λ λΆμ μμ μ μνν μ μλ€.
ν΅μ¬ μ 리
- public ν΄λμ€λ μ λ κ°λ³ νλλ₯Ό μ§μ λ
ΈμΆ ν΄μλ μλλ€.
- λΆλ³ νλλΌλ©΄ λ
ΈμΆν΄λ λ μννμ§λ§ μμ¬ν μλ μλ€.
- package-private ν΄λμ€λ private μ€μ²© ν΄λμ€μμλ(λΆλ³μ΄λ κ°λ³μ΄λ ) μ’
μ’
νλλ₯Ό λ
ΈμΆνλ νΈμ΄ λμ λλ μλ€.