오버라이딩을 알아보자
안녕하세요.
고코더 입니다.
오버라이딩은 상위 클래스에서 가지고 있는 메소드를 하위 클래스에서 메소드에서 재정의해서 사용할 수 있는걸 말합니다. 다시 말하면 상속에서 나온 개념입니다. 부모 클래스의 메소드를 자식 클래스의 메소드로 정의하는 것입니다.
오버라이딩시에 메소드의 이름, 매개변수, 리턴 값이 같아야 한다.
book.java, bookstore.java : 오버라이딩 사용
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public class Book{ public String name; public int price; public void print(){ System.out.println("책 이름 "+this.name+ ", 가격은" + this.price); } } public class Bookstore extends Book{ String publisher; // 출판사 public void print(){ System.out.println("책 이름은 "+this.name +" 가격은" + this.price + "출판사는 "+this.publisher); } } | cs |
book 클래스에 있는 print 메소드를
bookstore 클래스에서 print로 오버라이딩 하여 새롭게 출판사 이름까지 출력할 수 있게 합니다. 상위 클래스에서 지정한 메소드를 상속후에 다시 메소드를 재정의 합니다.
gocoder.java : 사용하는 클래스
1 2 3 4 5 6 7 8 9 10 11 12 13 | public class gocoder { public static void main(String[] args) { Bookstore bs = new Bookstore(); // 변수 설정 bs.name = "아메리카노 한잔으로 배우는 Node.js"; bs.price = 4100; bs.publisher="고코더"; bs.print(); } } | cs |
객체를 생성하여 오바라이딩한 print를 사용하는 부분
마무리
부모 클래스로부터 상속받은 메소드를 자식 클래스에서 재정의하는 것을 오버라이딩 이다.
'IT_Developers > JAVA' 카테고리의 다른 글
JAVA - 접근 제어자(access modifier) / 상세하게 (0) | 2020.03.12 |
---|---|
JAVA - 가비지컬렉션(garbage collection)이란? / Stop The World / 예제 (0) | 2020.03.12 |
JAVA - 다형성(Polymorphis)이란? (0) | 2020.03.11 |
JAVA - 오버로딩(Overloading)이란? / 예제 소스 / 컴파일 원리 (0) | 2020.03.11 |
JAVA - 자바 기본 자료형 (primitive data type) 란? (0) | 2020.03.11 |
댓글