자원의 공유! 자바 상속 기능
1. 상속이란?
1) 자바에서 클래스간에 사용할 수 있으며, 상속하는 클래스의 자원(변수 , 메소드)를 사용할 수 있게 됩니다.
2) 간단히 말씀드려서 “내 돈은 내꺼, 니돈도 내꺼” 라는 개념입니다.
3) 피상속 클래스의 구성요소가 변경되면, 상속을 받는 클래스는 변경사항에 영향을 받지만 그 반대의 경우에는 영향을 받지 않습니다.
4) 클래스 내의 멤버변수와 메서드만 상속이 됩니다.
2. 사용 방법
– java [클래스명] extends [피상속 클래스명]
위와 같이 사용할 경우 Product에서 Admin의 변수나 메소드를 사용할 수 있습니다.
3. 장점
1) 소스코드의 간결화, 중복 제거, 재사용, 생산성 및 유지보수 향상
아래의 코드를 통해 보다 자셓
class Admin{ public int sum = 10; void printSum(int price){ sum += price; } } class Product extends Admin { public String name; public int Price = 100; void printname(String name){ this.name = name; } } public class ProductStatus{ public static void main(String[] args) { Product p = new Product(); p.printname("노트북"); System.out.println("제품 :"+p.name); p.printSum(1000); System.out.println("누적 금액 :"+p.sum); } }
4. 결과
5. 소스 풀이
1) Product 클래스가 Admin클래스를 상속받음.
2) Product는 Admin의 자원을 사용할 수 있음.
3) ProductStatus에서 Product 클래스를 인스턴스화.
4) 상속으로 인해 Product, Admin의 메소드 사용할 수 있음.
6. 마치며…
이 상속이라는 개념은 이미 자바에서 제공하는 클래스를 쓸 수도 있습니다.
예를 들면, GUI를 다루는 SWING, AWT 사용하기 위해 이용되며, Thread를 사용할 때도 해당 클래스를 사용하기 위해 extends를 사용하므로 아주 중요한 기능이라고 볼 수 있습니다.
※ 피상속 클래스에 있는 메소드의 구성을 똑같이 상속받는 클래스에 구현하면 어떻게 될까요? 이를 바로 메소드 오버라이딩이라고 하는데요 다음 자바 강좌에서 한번 다뤄보도록 하겠습니다.
답글 남기기