μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- acid
- binarySearch
- ERD
- μκ³ λ¦¬μ¦
- νλ‘μμλ²
- κΉμ볡μ¬
- Database
- μ΄μ§νμ
- λ°μ΄ν°λ² μ΄μ€
- index
- mutable
- transaction
- forwardνλ‘μ
- μΈλ±μ€
- reverseνλ‘μ
- NoSQL
- μλ£κ΅¬μ‘°
- μ‘°μΈ
- RDBMS
- java
- μ κ·ν
- λ°©μ΄μ 볡μ¬
- immutable
- μμ볡μ¬
- λΆλ³κ°μ²΄
- proxy
- Today
- Total
jacketList
[Java] ν΄λμ€(Class) - λ°±κΈ°μ λΌμ΄λΈ μ€ν°λ λ³Έλ¬Έ
π λͺ©ν
μλ°μ Classμ λν΄ νμ΅νμΈμ.
νμ΅ν κ² (νμ)
- ν΄λμ€ μ μνλ λ°©λ²
- κ°μ²΄ λ§λλ λ°©λ² (new ν€μλ μ΄ν΄νκΈ°)
- λ©μλ μ μνλ λ°©λ²
- μμ±μ μ μνλ λ°©λ²
- this ν€μλ μ΄ν΄νκΈ°
π ν΄λμ€λ ?
ν΄λμ€(Class)λ κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°(OOP)μμ νΉμ κ°μ²΄λ₯Ό μμ±νκΈ° μν΄ λ³μμ λ©μλλ₯Ό μ μνλ μΌμ’ μ μ€κ³λ νΉμ νμ΄λ€.
κ°μ²΄(Object) ?
λ©΄μ μμ κ°μ²΄(Object)κ° λμ§ μ μν μ μλλ μ§λ¬Έμ λ°μμ λ λ¨Έλ¦Ώμμ΄ νμμ§λ©΄μ ν‘μ€μμ€νλ©° λλ΅νλ κ²½νμ΄ μλ€.
κ°μ²΄(Object)μ μ¬μ μ μλ―Έλ μλμ κ°λ€.
- 1.λͺ μ¬ μμ¬λ νμκ° λ―ΈμΉλ λμ.
- 2.λͺ μ¬ λ¬Έμ₯ λ΄μμ λμ¬μ νμκ° λ―ΈμΉλ λμ.
- 3.λͺ μ¬ μμ©μ λμμ΄ λλ μͺ½.
μ¦ κ°μ²΄(Object)λ μ΄λ ν νμλ μμ±μ κΈ°λ₯μ κ°μ§λ λμμΌλ‘ μ°λ¦¬κ° μ€μνμμ μΈμν μ μλ μ¬λ¬Όμ΄λΌκ³ μκ°ν μ μλ€.
μ»΄ν¨ν° 곡νμ κ΄μ μμ μ΄λ¬ν κ°μ²΄μ μνμ νμλ₯Ό ꡬ체ννμ¬ νλ‘κ·Έλλ°μ νλκ²μ κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°(OOP)λΌκ³ μ΄ν΄ν μ μλ€.
π κ°μ²΄λ₯Ό λ§λλ λ°©λ²(new ν€μλμ λν μ΄ν΄)
κ°μ²΄λ₯Ό μμ±νκΈ° μν΄μλ μλμκ°μ΄ new ν€μλλ₯Ό μ¬μ©ν΄μΌ νλ€.
Car car = new Car();
new ν€μλλ‘ μμ±ν κ°μ²΄λ λ©λͺ¨λ¦¬ ꡬ쑰μ Heapμμμ μ¬λΌκ°κ³ μ μ₯λ μ£Όμκ°μ λ°νν΄μ€λ€.
λ°λΌμ carλΌλ λ³μλ new ν€μλλ‘ μμ±ν κ°μ²΄μ μ£Όμκ°μ μ°Έμ‘°νλ ννκ° λλ€.
πλ©μλλ₯Ό μ μνλ λ°©λ²
Classλ΄μμλ μμ±μ νννλ νλ(Field)μ κΈ°λ₯μ νννλ λ©μλ(Method)λ₯Ό κ°μ§λ€.
λ©μλ(Method)λ νΉμ μμ μ μννκΈ° μν λͺ λ Ήλ¬Έμ μ§ν©μΌλ‘ λ³Ό μ μλ€.
μμκ°μ΄ λ©μλ (Method)λ₯Ό μ μνλ μ΄μ λ λ°λ³΅μ μΌλ‘ μ¬μ©λλ μ½λλ₯Ό λ©μλ νλλ‘ μ μνμ¬ μ¬λ¬κ³³μμ μ¬μ¬μ©ν μ μκ³ μ¬λ¬κ³³μμ μ¬μ©λλ λ©μλλ ν΄λΉ λ©μλ νλλ§ μμ νλ©΄ λκΈ°λλ¬Έμ μ μ§λ³΄μ μΈ‘λ©΄μμλ μ μ©νλ€.
λ©μλλ₯Ό μμ±ν λλ νλμ κΈ°λ₯λ§μ μννλλ‘ μμ±νλ κ²μ΄ μ’λ€.
λ©μλλ μμκ°μ ꡬμ±μΌλ‘ μμ±ν΄μΌ νλ€.
public class Car {
public void stop(){
System.out.println("μ°¨λ₯Ό λ©μΆ₯λλ€.")
}
public void run(){
System.out.println("μ°¨λ₯Ό μμ§μ
λλ€.")
}
}
public class CarMain{
public static void main(String[] args) {
Car car = new Car();
car.run;
car.stop;
}
}
μμ μμμμλ CarλΌλ ν΄λμ€λ₯Ό μ μνκ³ μμ run(), stop()μ΄λΌλ μ°¨μ κΈ°λ₯μ μ μν λ©μλλ₯Ό μμ±νλ€.
μ΄ν new ν€μλλ₯Ό μ¬μ©ν΄ carκ°μ²΄λ₯Ό λ§λ€κ³ carλ³μμ μ μ₯λ μ£Όμκ°μ ν΅ν΄ Car ν΄λμ€λ΄μ μ μλμ΄ μλ λ©μλλ₯Ό μ¬μ©νκ³ μλ€.
πμμ±μ μ μνλ λ°©λ²
public class Car {
String name;
public void stop(){
System.out.println("μ°¨λ₯Ό λ©μΆ₯λλ€.")
}
public void run(){
System.out.println("μ°¨λ₯Ό μμ§μ
λλ€.")
}
public Car(){
}
public Car(String name){
this.name = name;
}
}
public class CarMain{
public static void main(String[] args) {
Car car = new Car();
Car car = new Car("λ보λ₯΄κΈ°λ");
}
}
μμκ°μ΄ μμ±μλ₯Ό μ μνλ λ°©λ²μλ κΈ°λ³Έμμ±μμ λ§€κ°λ³μλ₯Ό κ°λ μμ±μλ‘ μ μν μ μλ€.
λ§μΌ Car ν΄λμ€ λ΄μμ κΈ°λ³Έ μμ±μλ₯Ό λͺ μνμ§ μμλ€λ©΄ new ν€μλλ₯Ό ν΅ν΄ κ°μ²΄λ₯Ό μμ±ν λ μ»΄νμΌλ¬κ° μλμΌλ‘ κΈ°λ³Έ μμ±μλ₯Ό μμ±νλ€.
νμ§λ§ μΈμλ₯Ό κ°λ μμ±μλ₯Ό μ μνλ€λ©΄ μ»΄νμΌλ¬λ κΈ°λ³Έ μμ±μλ₯Ό μλμΌλ‘ μμ±ν΄μ£Όμ§ μκΈ° λλ¬Έμ μ»΄νμΌ μ€λ₯κ° λλ€.
μ€λ₯κ° λ°μνλ μ΄μ λ ν΄λμ€λ΄μ κΈ°λ³Έ μμ±μκ° μ μλμ΄ μμ΄μΌνκΈ° λλ¬Έμ΄λ€.
πthis ν€μλ
this ν€μλλ μκΈ°μμ μ κ°λ¦¬ν¨λ€.
public class Car {
String name;
public Car(){
System.out.println("this νΈμΆ")
}
public Car(String name){
this();
this.name = name;
}
}
public class CarMain{
public static void main(String[] args) {
Car car = new Car("λ보λ₯΄κΈ°λ");
}
}
ν΄λΉ μ½λμμ carλΌλ κ°μ²΄λ₯Ό μμ±ν λ "λ보λ₯΄κΈ°λ"λΌλ μ°¨μ μ΄λ¦μ λ§€κ°λ³μλ‘ μ λ¬νλ€.
μμ μΈμλ₯Ό λ°λ μμ±μμ name μΈμμλ "λ보λ₯΄κΈ°λ"λΌλ μ΄λ¦μ΄ μ λ¬λκ³ thisλΌλ ν€μλλ₯Ό μ¬μ©ν΄ Carν΄λμ€μ μΈμ€ν΄μ€μ μ΄λ¦μ μ μ₯νλ€.
μ¦ thisλ μκΈ°μμ μ νλ νΉμ μμ±μλ₯Ό κ°λ¦¬ν€λ ν€μλλ‘ μ¬μ©λλ€.
'Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λλΈ λμ€ν¨μΉ(Double Dispatch) μ λ°©λ¬Έμ ν¨ν΄(Visitor Pattren) (0) | 2024.04.16 |
---|---|
[Java] μμ(Inheritance) (1) | 2024.04.13 |
[Java] μ λ€λ¦(Generic) (1) | 2023.12.11 |
[Java] λκΈ°(Synchronous)μ λΉλκΈ°(Asynchronous) (3) | 2023.12.08 |
[Java] mutableκ³Ό Immutable (2) | 2023.12.06 |