자바에서 다형성을 지원하는 방법은 오버로딩과 오버라이딩이 있다.
(다형성: 같은 자료형에 여러 가지 객체를 대입하여 다양한 결과를 얻어내는 성질)
오버로딩(Overloading) (확장)
메서드의 이름은 같고 매개변수의 갯수나 타입이 다른 함수를 정의하는 것을 의미한다. 기존에 없던 새로운 메서드를 정의하는 것이다.
<예저 code>
package joon;
public class Member {
// test() 호출
void test(){
System.out.println("매개변수 없음");
}
// test에 매개변수로 int형 2개 호출
void test(int a, int b){
System.out.println("매개변수 "+ a + "와 " + b);
}
// test에 매개변수 double형 1개 호출
void test(double d){
System.out.println("매개변수 " + d);
}
}
오버라이딩(Overriding) (재정의)
상위 클래스의 메서드를 하위 클래스가 재정의하는 것이다. 상속받은 메서드의 내용만 변경 하는 것이다.
package joon;
public class codeTest {
public static void main(String[] args) throws Exception{
Seller seller = new Seller();
seller.sellerName = "스티븐";
seller.goodsCount = 10;
seller.goodsName = "청소기";
seller.print();
}
}
package joon;
public class Goods {
public String goodsName;
public int goodsCount;
public void print(){
System.out.println("상품 이름은 "+this.goodsName+ "이고, 상품수량은 " + this.goodsCount+"입니다.");
}
}
package joon;
public class Seller extends Goods {
String sellerName;
public void print(){
System.out.println("상품 이름은 "+this.goodsName+ "이고, 상품수량 " + this.goodsCount+"입니다.");
System.out.println(this.goodsName+"상품은 "+this.sellerName+"이 판매 담당자입니다.");
}
}
'java spring' 카테고리의 다른 글
Spring Rest API Query Param Null 값이 들어오는 경우 처리 (0) | 2022.02.06 |
---|---|
HttpClient WARNING: Cookie rejected: Illegal domain attribute 해결방법 (0) | 2022.01.30 |
자바의 클래스 멤버 변수 초기화 순서 (0) | 2021.12.16 |
Spring Boot Rest API image 파일 전송 (0) | 2021.08.15 |
spring boot JWT 실습(1) (0) | 2021.07.31 |