TIL JAVA #3-2
λ§€κ°λ³μμ μ’ λ₯ (κΈ°λ³Έ&μ°Έμ‘°)
μΈμ€ν΄μ€ λ©€λ²μ ν΄λμ€ λ©€λ²
μ§μλ³μ λ° μμ
μμ±μ this
μ κ·Όμ μ΄μ
import & package
- λ§€κ°λ³μ νμ μ΄ κΈ°λ³ΈνμΌ λλ κ° μμ²΄κ° λ³΅μ¬λμ΄ λμ΄κ°κΈ° λλ¬Έμ λ³μμ μλ³Έκ°μ΄ λ³κ²½λμ§ μλλ€.
κ·Έλ¬λ μ°Έμ‘°νμΌ λλ κ°μ΄ μ μ₯λ κ³³μ μ£Όμκ°μ μ μ μκΈ° λλ¬Έμ κ°μ μ½λ κ²μ λ¬Όλ‘ λ³κ²½ λν κ°λ₯νλ€.
# μΈμ€ν΄μ€ λ©€λ²μ ν΄λμ€ λ©€λ²
- μ΄ λμ ꡬλΆνλ κ°μ₯ κ°λ¨ν λ°©μμ μ μΈ λ°©μ!
static μ΄λΌλ ν€μλκ° μμΌλ©΄ κ·Έκ²μ ν΄λμ€ λ©€λ²μ΄λ©° λ°λ‘ μ¬μ©μ΄ κ°λ₯νλ€.
λ§μ½ ν΄λΉ ν€μλκ° μλ€λ©΄ μΈμ€ν΄μ€ λ©€λ²μ΄λ©° λ°λ‘ μ¬μ©ν μ μκ³ μΈμ€ν΄μ€νλ₯Ό ν΄μ€ λ€μ μ¬μ©ν μ μλ€.
#1
static string company = "GENESIS";
String getCompany() {
return company; //μΈμ€ν΄μ€ λ©μλμμλ ν΄λμ€ νλ company λ°λ‘ μ¬μ© κ°λ₯
}
#2
static string setCompany(String companyName){
s.o.println("λͺ¨λΈ 체ν¬" + model); //μΈμ€ν΄μ€ μ¬μ© λΆκ°
}
// μΈμ€ν΄μ€ νλμΈ modelμ μ¬μ©νλ €κ³ νλ©΄ μ€λ₯ λ°μ.
//μΈμ€ν΄μ€νλ₯Ό ν΄μ€ λ€μ μ¬μ©ν μ μμ.
#μ§μλ³μ
- μ§μλ³μλ λ©μλ λ΄λΆμ μ μΈν λ³μλ₯Ό μλ―Ένλ€. ν΄λμ€ λ΄λΆ μ μμμ μ¬μ©λλ κ²μ΄ μλ
ν΄λΉ λ©μλμμ μμ±λκ³ μ΄κΈ°νλλ©° λ©μλ μ’ λ£μ μλ©Έ.
#final νλ
- final ν€μλκ° λΆμ νλλ μ λ κ°μ΄ λ³κ²½λμ§ μλλ€. μΈν λ μ΄κΈ°κ°μ΄ μ΅μ’ κΉμ§ μ μ§κ° λλ€. λ°λΌ λΉμ°ν μ΄κΈ°κ° μΈν μ΄ νμμ΄λ€.
λ§μ½, ν΄λΉ ν€μλκ° λΆμ νλμ κ°μ λ³κ²½νλ €κ³ νλ©΄ μ€λ₯κ° λ°μνλ€.
#μμ
- κ°μ΄ λ°λμ νκ°μ΄λ©° λΆλ³μ κ°μ μλ―Ένλ€.
static final String COMPANY ="GENESIS";
-> μ΄μ κ°μ΄ final μμ static μ λΆμ¬μ μ¬μ©κ°λ₯νλ€.
-> μμλ COMPANY μ΄λ κ² λλ¬Έμλ‘ μμ±νλ κ²μ΄ κ΄λ‘μ΄λ€.
#μμ±μ, this()
- μμ±μλ κ°μ²΄κ° μμ±λ λ νΈμΆλλ©° μ΄κΈ°ννλ μν μ νλ€.
- ν΄λμ€λ₯Ό μΈμ€ν΄μ€ν νκΈ° μν΄μ μμ±μκ° νμνλ€.
- κΈ°λ³Έμμ±μ
public Car (){//κΈ°λ³Έ μμ±μ. μ»΄νμΌλ¬κ° μλμΌλ‘ μΆκ°ν΄μ€.
}
- λ§μ½ μμ±μκ° νλλΌλ μλ κ²½μ°μλ λ°λ‘ κΈ°λ³Έ μμ±μλ₯Ό μΆκ°ν νμ μλ€.
- κ°μ²΄λ₯Ό λ§λ€ λ μΈμ€ν΄μ€λ§λ€ λ€λ₯Έ κ°μ κ°μ ΈμΌνλ€λ©΄ μμ±μλ₯Ό ν΅ν΄ νλλ₯Ό μ΄κΈ°ν κ°λ₯.
- μμ±μ μ€λ²λ‘λ©
public Car(String modelName){
model = modelName;
}
public Car(String modelName, String colorName){
model = modelName;
color = colorName;
}
public Car(String modelName, String colorName, double priceValue ){
model = modelName;
color = colorName;
price = priceValue;
}
μ€λ²λ‘λ©μ μ¬μ©νμ¬ ν¨μ¨μ μΌλ‘ μ²λ¦¬.
#this, this()
- thisλ κ°μ²΄ μ¦, μΈμ€ν΄μ€ μμ μ κ°λ¦¬ν€λ ν€μλμ΄λ€.
: this.model, this.company μ΄λ° μμΌλ‘ μ¬μ©.
model = model, company = company
μ΄μκ°μ΄ μ΄λ¦μ΄ μ€λ³΅λ κ²½μ° ν·κ°λ¦¬κ³ μ½λκ° κΌ¬μΌ μ μκΈ° λλ¬Έμ thisλ₯Ό μ¬μ©νλ€.
- this()
: μΈμ€ν΄μ€ μμ μ μμ±μλ₯Ό νΈμΆνλ ν€μλ (λ€λ₯Έ μμ±μλ₯Ό νΈμΆν λλ μμ±μμ 첫μ€μ μμ±.)
# μ κ·Όμ μ΄μ (ν΄λμ€, λ³μ, λ©μλ μ κ·Ό νμ© λ²μλ₯Ό μ§μ )
^ μ κ·Όμ μ΄μ: public > protected > default > private (νμ© λ²μκ° μ μ μ’μμ§)
- ν΄λμ€, λ©€λ²λ³μ, λ©μλ, μμ±μμ μ¬μ©.
^ κ·Έ μΈ μ μ΄μ: static, final, abstract
ν΄λμ€: public, default
λ©€λ²λ³μ: 4κ° λͺ¨λ μ¬μ© κ°λ₯
μ§μλ³μ: x
# μμ±μμ μ κ·Ό μ μ΄μ
- μΈμ€ν΄μ€μ μμ±μ μ νν μ μλ€.
<Getter & Setter>
κ°μ²΄μ 무결μ±μ μν΄ μ κ·Ό μ μ΄μλ₯Ό μ¬μ©νλλ° νμν κ²½μ° private νλμ getter, setter λ₯Ό μ΄μ©ν΄ μ κ·Όν μ μλ€.
- Getter : νλλ₯Ό μ½μ λ μ¬μ©.
- Setter: μΈλΆμμ κ°μ²΄μ privateν νλλ₯Ό μ μ₯νκ±°λ μμ ν κ²½μ°μ μ¬μ©ν μ μλ€.
//1.Getter
public String getModel(){
return model;
}
//2.Setter
public String setModel(String model){
this.model = model;
}
#package & import
- μλ‘ λ€λ₯Έ ν¨ν€μ§κ° μκ³ ν ν¨ν€μ§μμ λ€λ₯Έ ν¨ν€μ§μ ν΄λμ€λ₯Ό μ¬μ©νλ €κ³ ν λ importλΌλ ν€μλλ₯Ό μ¬μ©ν μ μλ€.
packageλ₯Ό μ¬μ©νλ λ°©λ²μ κ²½λ‘λ₯Ό μμ±ν΄μ£Όλ λ°©λ²μ΄ μλλ° λ³΄κΈ° κΉλνμ§ μκ³ μ½λκ° μ§μ λΆν΄λ³΄μ¬ κ΅³μ΄ μ¬μ©ν νμλ μκ² λ€.