λ°μν
Notice
Recent Posts
Recent Comments
Link
μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 |
Tags
- μλ°κ³΅λΆ
- μλ°μ€ν¬λ¦½νΈ
- StreamlitκΈ°μ΄
- μ€νΈλ¦Όλ¦Ώ
- Matplotlib κΈ°μ΄
- db
- νμ΄μ¬
- StreamlitκΈ°λ³Έ
- RESTful API
- λ°μ΄ν°λ² μ΄μ€
- μλλ‘μ΄λ μ± κ°λ°
- μλ°μ΄λ³΄
- μλ°νλ‘κ·Έλλ°
- Android
- νλ€μ€κ³΅λΆ
- μΉλμ보λ μ μ
- streamlit
- μλ°
- μλ°κΈ°μ΄
- μλ°μ€ν¬λ¦½νΈ 곡λΆ
- μλλ‘μ΄λ μ€νλμ€
- νμ΄μ¬κ³΅λΆ
- μΉλμ보λ κΈ°μ΄
- MySQL
- νλ€μ€
- μ€νΈλ¦Όλ¦Ώ κΈ°λ³Έ
- java
- JavaScript
- serverless
- Pandas
Archives
- Today
- Total
ruriruriya
[Java] μλ° μ€λ²λ‘λ© vs μ€λ²λΌμ΄λ© - μ½λ λ€μ€ νμ© λ° μμ ꡬ쑰 μ΄ν΄ λ³Έλ¬Έ
πͺJava
[Java] μλ° μ€λ²λ‘λ© vs μ€λ²λΌμ΄λ© - μ½λ λ€μ€ νμ© λ° μμ ꡬ쑰 μ΄ν΄
루리μΌγ 2024. 2. 21. 17:03λ°μν
μλ° νλ‘κ·Έλλ°μμ μ€λ²λ‘λ©(Overloading)κ³Ό μ€λ²λΌμ΄λ©(Overriding)μ κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ μ€μν κ°λ
μ΄λ€.
λ λ€ λ€νμ±(polymorphism)μ ꡬννλ λ°©λ² μ€ νλμ΄μ§λ§ μλ‘ λ€λ₯Έ λͺ©μ κ³Ό λμμ κ°κ³ μλ€.
1. μ€λ²λ‘λ©(Overloading)
- λ©μλλ μμ±μμ μ΄λ¦μ κ°μ§λ§, 맀κ°λ³μμ νμ , κ°μ, μμκ° λ€λ₯Έ μ¬λ¬ λ²μ μ μ μνλ κ²μ μλ―Ένλ€.
- μ€λ²λ‘λ©μ μ¬μ©νλ©΄ κ°μ μ΄λ¦μ λ©μλλ₯Ό μ¬λ¬ κ° μ μνμ¬ λ€μν μν©μ λ§κ² νΈμΆν μ μλ€.
- μ»΄νμΌλ¬κ° λ©μλ νΈμΆ μ μΈμμ νμ μ λ³΄κ³ μ μ ν λ²μ μ λ©μλλ₯Ό κ²°μ νλ€.
μμ±μ μ€λ²λ‘λ©
public class Person {
private String name;
private int age;
// κΈ°λ³Έ μμ±μ
public Person() {
this.name = "Unknown";
this.age = 0;
}
// μ΄λ¦μ λ°λ μμ±μ
public Person(String name) {
this.name = name;
this.age = 0;
}
// μ΄λ¦κ³Ό λμ΄λ₯Ό λ°λ μμ±μ
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
String ν΄λμ€μ substring λ©μλ μ€λ²λ‘λ©
public class SubstringExample {
public static void main(String[] args) {
String str = "Hello, World!";
// μμ μΈλ±μ€λΆν° λκΉμ§μ λ¬Έμμ΄ λ°ν
String sub1 = str.substring(7); // "World!"
// μμ μΈλ±μ€λΆν° μ§μ λ μΈλ±μ€ μ΄μ κΉμ§μ λ¬Έμμ΄ λ°ν
String sub2 = str.substring(7, 12); // "World"
}
}
Math ν΄λμ€μ max λ©μλ μ€λ²λ‘λ©
public class MaxExample {
public static void main(String[] args) {
int max1 = Math.max(5, 10); // 10
double max2 = Math.max(3.5, 7.8); // 7.8
}
}
2. μ€λ²λΌμ΄λ©(Overriding)
- μμ ν΄λμ€κ° κ°μ§κ³ μλ λ©μλλ₯Ό νμ ν΄λμ€μμ κ°μ μ΄λ¦μ λ©μλλ‘ λ€μ μ μνλ κ²μ μλ―Ένλ€.
- μμ κ΄κ³μμ λ°μνλ©°, νμ ν΄λμ€μμ μμ ν΄λμ€μ λ©μλλ₯Ό μ¬μ μνμ¬ μμ ν΄λμ€μ λ νΉν λμμ ꡬνν μ μλ€.
- λμ λ°μΈλ©(dynamic binding)μ ν΅ν΄ λ©μλ νΈμΆ μ μ€μ κ°μ²΄μ νμ μ λ°λΌ μ€νλ λ©μλκ° κ²°μ λλ€.
μμ μ½λ
Animal ν΄λμ€μ sound λ©μλκ° Dog ν΄λμ€μμ μ€λ²λΌμ΄λ©λμκ³ ,
λ°λΌμ Dog κ°μ²΄μμ sound λ©μλλ₯Ό νΈμΆνλ©΄ "Dog barks"κ° μΆλ ₯λλ€.
μ¦, κΈ°λ₯μ 볡μ¬νμ¬ μ©λμ λ§κ² 컀μ€ν
νλ κ²μ΄λ€.
class Animal {
public void sound() {
System.out.println("Animal makes a sound");
}
}
class Dog extends Animal {
@Override
public void sound() {
System.out.println("Dog barks");
}
}
3. μ€λ²λ‘λ©κ³Ό μ€λ²λΌμ΄λ© λΉκ΅
- μ€λ²λ‘λ©μ λ©μλ μ΄λ¦μ΄ κ°κ³ 맀κ°λ³μκ° λ€λ₯Έ μ¬λ¬ λ©μλλ₯Ό μ μνλ κ²μ΄λ©°, μ€λ²λΌμ΄λ©μ μμ ν΄λμ€μ λ©μλλ₯Ό νμ ν΄λμ€μμ λ€μ μ μνλ κ²μ΄λ€.
- μ€λ²λ‘λ©μ μ μ λ°μΈλ©(static binding)μ μν΄ μ»΄νμΌ μκ°μ κ²°μ λμ§λ§, μ€λ²λΌμ΄λ©μ λμ λ°μΈλ©μ μν΄ μ€ν μκ°μ κ²°μ λλ€.
- μ€λ²λ‘λ©μ κ°μ ν΄λμ€ λ΄μμλ§ μ μ©λμ§λ§, μ€λ²λΌμ΄λ©μ μμ κ΄κ³μμλ§ μ μ©λλ€.
- μ€λ²λ‘λ©μ λ°ν νμ μ΄λ μ κ·Ό μ μ΄μ λ³κ²½ λ±μ ν¬ν¨ν μκ·Έλμ²(λ©μλ μ΄λ¦, 맀κ°λ³μ νμ λ° μμ)κ° λ¬λΌμΌ νλ€. νμ§λ§ μ€λ²λΌμ΄λ©μ λ©μλ μκ·Έλμ²κ° μ νν μΌμΉν΄μΌ νλ€.
λ°μν
'πͺJava' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java] μλ° μμμ νμ©κ³Ό μμ ν΄λμ€μ κΈ°λ₯ νμ₯ (0) | 2024.02.23 |
---|---|
[Java] μλ° ν΄λμ€, κ°μ²΄, μΈμ€ν΄μ€μ κ°λ (0) | 2024.02.22 |
[Java] μλ° λ€λ₯Έ λ°μ΄ν°νμ μ λ¬Έμμ΄λ‘ λ°κΎΈλ λ°©λ²λ€ μ 리 (0) | 2024.02.07 |
[Java] μλ°μ λ€μν μ°μ°μλ€ (0) | 2024.02.05 |
[Java]μλ°μ μμ±μ(Constructor)μ Getter/Setter (1) | 2023.12.20 |