728x90
다형성
하나의 객체에 여러 가지 타입을 대입할 수 있다.
ex.
//숫자를 문자열로 바꾸는 경우
String age = stringFromNumber(number);
//날짜를 문자열로 바꾸는 경우
String today = stringFromDate(date);
👇🏻
//숫자를 문자열로 바꾸는 경우
String age = stringValue(number);
//날짜를 문자열로 바꾸는 경우
String today = stringValue(date);
다형성을 구현하는 방법은 대표적으로 오버로딩, 오버라이딩, 함수형 인터페이스를 사용하는 것이 있다.
메소드 오버로딩
한 클래스 내에 이미 사용하는 이름의 메소드가 있더라도
특정 규칙을 지킨다면 동일한 이름의 메소드를 정의하도록 허용하는 기술
메소드 오버라이딩
상위 클래스의 메소드를 재정의하는 것을 의미
함수형 인터페이스
한 개의 추상 메소드를 가지고 있는 인터페이스
* 느리더라도 꾸준하게, < [OOP] 다형성(Polymorphism)이란? > , https://steady-coding.tistory.com/446
상속
부모의 메소드랑, 멤버변수를 상속받을 수 있고 오버라이딩을 해서 재정의 해서 쓸 수 있다.
그리고 부모형의 변수로 자식객체를 생성할 수 있다
public class NewCl {
String a;
String b;
public void name(String name) {
this.a = name;
}
}
public class NewClass extends NewCl {
public static void main(String[] args) {
NewClass puppy = new NewClass();
puppy.name("lulu");
}
}
괄호 안에 값을 넣으려면 class 안에 함수를 설정해 받아올 값을 지정해야하고
함수를 생성하지 않은 경우 빈 값으로 넣어야 한다.
* 더 자세히 알아보기 >> https://lu-delight.tistory.com/276
생성자
클래스 이름과 같은 이름을 가진 메소드를 생성자라고 한다.
public class name {
public name()
}
or
[클래스이름] [변수 이름] = new [클래스이름]();
728x90
'용어 정리' 카테고리의 다른 글
Layered Architecture, DI 흐름 이해하기 (0) | 2021.11.13 |
---|---|
DTO, VO, Entity (0) | 2021.11.12 |
REST API와 Restful API, CORS (0) | 2021.11.11 |
DI이란 (0) | 2021.11.11 |
Spring이란 (0) | 2021.11.11 |