“노력을 대신할 수 있는 것은 없습니다.”
– 토마스 에디슨
Overload 오버로드
다형성의 특징중에 하나 → 자바에서 다형성의 개념으로 적용
오버로딩
- 한 클래스내에 동일한 메소드가 중복되어 정의된 경우
- 매개변수 형이나 개수를 다르게 설정할 수 있다.
void simpleMethod(int n) {...}
void simpleMethod(int n, String s) {...}
int simpleMethodOther() {...}
//반환형이 다른경우 오버로딩이 성립되지 않음
Example
public class Person {
int age;
String name;
public void setAge(int age){
// if(age > 0) age =- 909090;
this.age = age;
}
public void setAge(int age, int padding){
if(age > 20)padding = 20;
else padding = 10;
age += padding;
}
}
오버라이딩
- 상속과 관련이 있다.
- 메소드 이름, 메개변수, 반환형이 동일
- 자식이 부모의 메소드를 오버라이딩 하게되면 자식의 메소드가 사용된다
Example
- toStirng
public class Person {
int age;
String name;
public void setAge(int age){
// if(age > 0) age =- 909090;
this.age = age;
}
public void setAge(int age, int padding){
if(age > 20)padding = 20;
else padding = 10;
age += padding;
}
//자바 컴파일러에게 상위클래스의 메소드를 오버라이딩 한다고 알려주는 일종의 메모
@Override
public String toString(){
return super.toString();
}
}
class AppMain {
public static void main(String[] args) {
var person = new Person();
person.age = 90;
person.name = "david";
System.out.println(person);
}
}
'Java 기초' 카테고리의 다른 글
Java 기초 (5. Hashcode 와 생성자 함수) (0) | 2024.03.13 |
---|---|
Java 기초 (연습하기-1) (0) | 2024.03.12 |
Java 기초 (3. Switch문, While문) (0) | 2024.02.29 |
Java 기초 (2. 형변환과 연산자, 조건문) (2) | 2024.02.28 |
Java 기초 (1. 메모리와 데이터 타입) (2) | 2024.02.27 |