๋งค๊ฐ๋ณ์์ ์ข ๋ฅ (๊ธฐ๋ณธ&์ฐธ์กฐ)
์ธ์คํด์ค ๋ฉค๋ฒ์ ํด๋์ค ๋ฉค๋ฒ
์ง์ญ๋ณ์ ๋ฐ ์์
์์ฑ์ 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๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๊ฒฝ๋ก๋ฅผ ์์ฑํด์ฃผ๋ ๋ฐฉ๋ฒ์ด ์๋๋ฐ ๋ณด๊ธฐ ๊น๋ํ์ง ์๊ณ ์ฝ๋๊ฐ ์ง์ ๋ถํด๋ณด์ฌ ๊ตณ์ด ์ฌ์ฉํ ํ์๋ ์๊ฒ ๋ค.
'JavaStudy' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
TIL Java 3-* (2) | 2023.12.04 |
---|---|
TIL JAVA #3-3 (0) | 2023.12.01 |
TIL JAVA #3-1 (0) | 2023.11.30 |
TIL JAVA #2-4 (1) | 2023.10.20 |
TIL JAVA #2-3 (0) | 2023.10.19 |