< ์ด์ ํฌ์คํ - ๋ณ์>
๐ชฝ
"ํ๋ฆฐ ๋ด์ฉ์ด ์์ ์ ์์ต๋๋ค."
โบ ์ธ์คํด์ค
- ํด๋์ค๊ฐ ์ค๊ณ๋, ์ธ์คํด์ค๋ ์ค๊ณ๋๋ ๋ณด๊ณ ๋ง๋ ๋ฌผ๊ฑด์ด๋ค.
- ์ค์ฒดํ๋ ๊ฐ์ฒด๋ฅผ ์ธ์คํด์ค๋ผ๊ณ ๋ถ๋ฅธ๋ค.
- ์ฆ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น๋์ด ์์ฑ๋ ๊ฐ์ฒด๋ฅผ ์ธ์คํด์ค๋ผ ๋ถ๋ฅธ๋ค.
- ๊ฐ์ฒด ๋ด์ ์ธ์คํด์ค๋ผ๋ ๊ฐ๋ ์ด ํฌํจ๋์ด์๋ค.
- ํ์ง๋ง ๊ฐ์ฒด์ ์ธ์คํด์ค๋ฅผ ๊ตฌ๋ถํ๋ ๊ฒ์ด ํฌ๊ฒ ์๋ฏธ์์ง ์์ ๊ฒ ๊ฐ๋ค...
Q. ํด๋์ค๊ฐ ์ค๊ณ๋๋ฉฐ ์ธ์คํด์ค๊ฐ ์ค๊ณ๋๋ฅผ ๋ณด๊ณ ๋ง๋ ๋ฌผ๊ฑด์ด๋ผ๋๋ฐ, ๊ทธ๊ฒ ๋ฌด์จ ๋ง์ธ๊ฐ?
A. ์๋์ฐจ์ ๊ด๋ จ๋ ์ค๊ณ๋๊ฐ ์๋ค๊ณ ๊ฐ์ ํ๊ฒ ๋ค.
// ์ถ์ฒ - jongtachi๋
// ์๋์ฐจ๋ฅผ ๋ง๋ค ์ค๊ณ๋(ํด๋์ค)
class Car {
String brand;
String model;
// ์ค๊ณ๋๋ฅผ ๋ฐ๋ผ ์๋์ฐจ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ(์์ฑ์)
public Car(String brand, String model) {
this.brand = brand;
this.model = model;
}
}
public class Main {
public static void main(String[] args) {
// ์ค์ ์ฐจ๋ฅผ ๋ง๋๋ ๊ณผ์ (์ธ์คํด์ค)
Car myCar = new Car("Toyota", "Camry");
System.out.println("๋ธ๋๋: " + myCar.brand);
System.out.println("๋ชจ๋ธ: " + myCar.model);
}
}
โบ ์์ฑ์
- ์์ฑ์์ ์ด๋ฆ์ ํด๋์ค ์ด๋ฆ๊ณผ ๋์ผํด์ผํ๋ค.
- ๋ฆฌํดํ์ ์ด ์๋ค.
- ๋งค๊ฐ๋ณ์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ฌ๋ฌ๊ฐ ์์ฑ ๊ฐ๋ฅํ๋ค. (์ค๋ฒ๋ก๋ฉ)
- ์์ฑ์ ์ฝ๋๊ฐ ์์ผ๋ฉด ์๋์ผ๋ก ๊ธฐ๋ณธ์์ฑ์๋ฅผ ์์ฑํ์ง๋ง, ์์ฑ์ ์ฝ๋๊ฐ ํ๋๋ผ๋ ์์ ์ ๊ธฐ๋ณธ์์ฑ์๋ฅผ ์์ฑํ์ง ์๋๋ค.
Q. ๋งค๊ฐ๋ณ์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ฌ๋ฌ๊ฐ ์์ฑ ๊ฐ๋ฅํ๋ค๋ผ๋ ๋ง์ด ๋ฌด์จ ๋ง์ผ๊น?
A. ๋งค๊ฐ๋ณ์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ฌ๋ฌ๊ฐ ์์ฑ ๊ฐ๋ฅํ๋ค๋ผ๋ ๋ง์ ์์ฑ์ ์ค๋ฒ๋ก๋ฉ์ ์๋ฏธํ๋ค.
์๋ ์์ ์ฒ๋ผ ์์ฑ์์ ๋งค๊ฐ๋ณ์(year, model)์ ๋ฐ๋ผ ์ค๋ฒ๋ก๋ฉ์ด ๊ฐ๋ฅํ๋ค.
์ฃผ์ํด์ผํ ์ ์ ์์ ์ฝ๋์ฒ๋ผ ๊ฐ์ ํ์ ์ ๋งค๊ฐ๋ณ์๊ฐ ์์ ๊ฒฝ์ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ํ์ ์ ๋ณ๊ฒฝํ๊ฑฐ๋ ๋งค๊ฐ๋ณ์์ ๊ฐฏ์๊ฐ ๋ฌ๋ผ์ผํ๋ค.
// ์ถ์ฒ - jongtachi๋์ ์ฝ๋ ์์
class Car {
int year;
String model;
// ๋
๋๋ง ๋ฐ๋ ์์ฑ์
public Car(int year) {
this.year = year;
this.model = "๋ฐ์ง ์์";
}
// ๋ชจ๋ธ๋ง ๋ฐ๋ ์์ฑ์
public Car(String model) {
this.year = 0;
this.model = model;
}
// ๋
๋, ๋ชจ๋ธ ๋ฐ๋ ์์ฑ์
public Car(int year, String model) {
this.year = year;
this.model = model;
}
public void resultPrint() {
System.out.println("Year: " + year + " " + "Model: " + model);
}
}
public class Main {
public static void main(String[] args) {
// ๋
๋๋ง ์๋ ๊ฒฝ์ฐ
Car car1 = new Car(2024);
car1.resultPrint();
// ๋ชจ๋ธ๋ง ์๋ ๊ฒฝ์ฐ
Car car2 = new Car("Camry");
car2.resultPrint();
// ๋
๋์ ๋ชจ๋ธ๋ง ์๋ ๊ฒฝ์ฐ
Car car3 = new Car(2024, "Camry");
car3.resultPrint();
}
}
Q. ์์ฑ์ ์ฝ๋๊ฐ ํ๋๋ผ๋ ์์ ์ ๊ธฐ๋ณธ ์์ฑ์๋ฅผ ์์ฑํ์ง ์๋๋ค๋ ๊ฒ์ ๋ฌด์จ ๋ง์ธ๊ฐ?
A. ์๋ก์ด ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ณ ์ด๋ค ์์ฑ์๋ ์์ผ๋ฉด ํ๋ก๊ทธ๋จ์ ์๋์ผ๋ก ๊ธฐ๋ณธ์์ฑ์๋ฅผ ๋ง๋ค์ด๋ธ๋ค.
// ์๋์ฐจ๋ฅผ ๋ง๋ค ์ค๊ณ๋(ํด๋์ค)
class Car {
int year;
String model;
// ์ด๋ค ์์ฑ์๋ ์กด์ฌํ์ง ์๋๋ค.
public void resultPrint() {
System.out.println("Brand: " + year + " " + "Model: " + model);
}
}
public class Main {
public static void main(String[] args) {
// car1 ์ธ์คํด์ค ์์ฑ
Car car1 = new Car();
car1.resultPrint();
}
}
์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒ ๊ฐ์ง๋ง ๊ฒฐ๊ณผ๊ฐ์ ์ถ๋ ฅ๋๋ค.
์๋์ผ๋ก ์์ฑ์๋ฅผ ๋ง๋ค์ด๋ธ ๊ฒ์ด๋ค.
๊ทธ๋ฐ๋ฐ ์์ฑ์๋ฅผ ํ๋๋ผ๋ ๋ง๋ค๊ฒ ๋๋ฉด ๊ธฐ๋ณธ ์์ฑ์๋ ๊ฐ๋ฐ์๊ฐ ์ง์ ๋ง๋ค์ด์ผํ๋ค.
// ์๋์ฐจ๋ฅผ ๋ง๋ค ์ค๊ณ๋(ํด๋์ค)
class Car {
int year;
String model;
// ๊ธฐ๋ณธ ์์ฑ์
public Car() {
}
// ๋ธ๋๋, ๋ชจ๋ธ ๋ฐ๋ ์์ฑ์
public Car(int year, String model) {
this.year = year;
this.model = model;
}
public void resultPrint() {
System.out.println("Brand: " + year + " " + "Model: " + model);
}
}
public class Main {
public static void main(String[] args) {
// ๊ธฐ๋ณธ ์์ฑ์๋ฅผ ์ด์ฉํ ์ธ์คํด์ค
Car car1 = new Car();
car1.resultPrint();
Car car2 = new Car(2024, "Camry");
car2.resultPrint();
}
}
๋ง์ฝ ์ ๋ง๋ค๊ฒ ๋๋ฉด?
// ์๋์ฐจ๋ฅผ ๋ง๋ค ์ค๊ณ๋(ํด๋์ค)
class Car {
int year;
String model;
// ๋ธ๋๋, ๋ชจ๋ธ ๋ฐ๋ ์์ฑ์
public Car(int year, String model) {
this.year = year;
this.model = model;
}
public void resultPrint() {
System.out.println("Brand: " + year + " " + "Model: " + model);
}
}
public class Main {
public static void main(String[] args) {
// ๊ธฐ๋ณธ์์ฑ์๊ฐ ์๋ ๊ฒฝ์ฐ
Car car1 = new Car();
car1.resultPrint();
Car car2 = new Car(2024, "Camry");
car2.resultPrint();
}
}
์ค๋ฅ๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค.
Q. ์์ฑ์๋ ์ ๋ง๋๋ ๊ฒ์ธ๊ฐ?
A. ๋ค์ํ ์ด์ ๊ฐ ์์ง๋ง, ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ๊ผญ ํ์ํ ๊ฐ๋ค์ ๋ฐ์ ์ ์๋๋ก ๊ฐ์ ํ ์ ์๋ค. ์์๋ก ๋๋ถ๋ถ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๋ฉด ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์๊ฐ์ ํ์ด์ง๋ฅผ ๋ง๋ค๊ฒ ๋๋ค. ๊ทธ๋ด๋ ํ์๋์ ์ฑํจ๊ณผ ์์ด๋, ๋น๋ฐ๋ฒํธ, ์ฃผ์ ๋ฑ ๋ด๊ฐ ๋ง๋ค ํ๋ก๊ทธ๋จ์ ๊ผญ ์ฐ์ผ ์ ๋ณด๋ฅผ ๋ฐ๋๋ก ํ ์ ์๋ ๊ฒ์ด๋ค. ๊ทธ ์ธ์๋ ์ ์ง๋ณด์๋ฉด, ์ผ๊ด์ฑ ๋ฑ์ด ์๋ค.
โบ ๋งค๊ฐ๋ณ์(Parameter)
- ๋งค๊ฐ๋ณ์๋ ์์ฑ์๋ ๋ฉ์๋๋ฅผ ์ ์ํ ๋ ์ด๋ค ๊ฐ์ ๋ฐ์์ง ๋ช ์ํ๋ ๋ณ์์ด๋ค.
โบ ์ธ์(Argument)
- ์ธ์๋ ์์ฑ์๋ ๋ฉ์๋๋ฅผ ํธ์ถํ ๋ ์ค์ ๋ก ์ ๋ฌ๋๋ ๊ฐ์ด๋ค.
Q. ๊ทธ๋์ ๋์ด ๋ญ๊ฐ ์ด๋ป๊ฒ ๋ค๋ฅด๋ค๋ ๊ฒ์ธ๊ฐ?
A. ์ง๊ธ๊น์ง ๋ด์จ ์ฝ๋์ ๋งค๊ฐ๋ณ์, ์ธ์ ๋ชจ๋ ๋ํ๋์๋ค.
// ๋ธ๋๋, ๋ชจ๋ธ ๋ฐ๋ ์์ฑ์
public Car(int year, String model) {
this.year = year;
this.model = model;
}
์ฌ๊ธฐ์์ year๊ณผ model์ ๋งค๊ฐ๋ณ์์ด๋ค. ๋งค๊ฐ๋ณ์๋ ๋ฉ์๋๋ ์์ฑ์๋ฅผ ์ ์ํ ๋ ์ด๋ค ๊ฐ์ ๋ฐ์์ง ๋ช ์ํ๋ ๋ณ์๋ผ๊ณ ํ๊ณ Car๋ ์์ฑ์๋ก ๋ณ์๋ฅผ year์ ์ ์ํ์ผ๋ก model์ ๋ฌธ์์ด๋ก ๋ฐ๊ฒ ๋ค๊ณ ๋ช ์ํ ๊ฒ์ด๋ค.
Car car2 = new Car(2024, "Camry");
car2.resultPrint();
๊ทธ๋ ๋ค๋ฉด 2024์ Camry๋ ์ธ์๊ฐ ๋ ๊ฒ์ด๋ค. ์ธ์๋ ์์ฑ์๋ ๋ฉ์๋๋ฅผ ํธ์ถํ ๋ ์ค์ ๋ก ์ ๋ฌ๋๋ ๊ฐ์ด๋ 2024์ Camry๊ฐ ๋๋ค๋ ๊ฑธ ๋ฐ๋ก ์ ์ ์๋ค.
ํผ์ ๊ณต๋ถํ๋ฉด์ ์ดํดํ๊ณ ์ด ๋ด์ฉ์ด๋ผ ํ๋ฆฐ ๋ด์ฉ์ด ์์ ์ ์์ต๋๋ค.
๋๊ธ๋ก ์ ์ด๋์๋ฉด ์์ ํ๋๋ก ํ๊ฒ ์ต๋๋ค. ๐
[ ๋ธ๋ก๊ทธ์ ์ด ๋ด์ฉ๋ค์ ์ถ์ฒ๋ ์๋์ ์ ์ด๋ํ ๋
๋ค์ด๊ฐ์ ์ฝ์ด๋ณด์๋ฉด ๋์ฑ ๋์์ด ๋์ค ๋ฏ ํฉ๋๋ค ]
< ์ดํ ํฌ์คํ - static๊ณผ final>
- ์์ฑ์์ ๋งค๊ฐ๋ณ์ ์ถ์ฒ
- ์์ฑ์์ ์ค๋ฒ๋ก๋ฉ ์ถ์ฒ
- ๋งค๊ฐ๋ณ์์ ์ธ์์ ์ฐจ์ด ์ถ์ฒ
'๐ Java > ์ฉ์ด์ ๋ฆฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Java ๊ธฐ๋ณธ ์ฉ์ด ์ ๋ฆฌ - ๐ง ์์ฃผ ํจ๊ป ์ฐ์ด๋ static๊ณผ final (0) | 2024.10.11 |
---|---|
๊ธฐ๋ณธ ์ฉ์ด ์ ๋ฆฌ - ๐ง ๋ณ์๋? (0) | 2024.10.05 |