-
[JAVA] 상속LANGUAGE/JAVA 2014. 4. 14. 16:30
예시
부모 : Person (속성 - age, name , 메소드 : getInfo())
자식 : Doctor, Nurse, Patient
장점 1 : 코드를 재활용함으로써 간소화된 클래스 구조
상속을 하지 않을 시 Doctor, Nurse, Patient에 모두 getInfo()와 age, name속성을 코딩해줘야 한다.
장점 2 : 클래스의 기능 테스트에 대한 생산성 및 정확성 증가
상속 기법을 사용하지 않을시 3개의 클래스에서 각각의 getInfo() 메소드를 3번 검사해야 한다. 하지만 상속 기법을 사용하면 Person클래스의 getInfo() 메소드 하나만 테스타하면 된다.
장점 3 : 클래스의 수정/추가에 대한 유연성 및 확장성 증가
getInfo() 메소드의 로직을 변경해야 할 상황이 생겼을 경우, Person 클래스의 getInfo() 메소드만 변경해주면 상속 받은 다른 클래스의 getInfo() 메소드도 변경된다.
상속 시 지켜야 하는 규칙
자식 클래스는 단 하나의 부모 클래스로부터 상속받을 수 있다.(다중 상속 금지)
2. 상속받는 자식 클래스는 다른 클래스의 부모 클래스가 될 수 있다.
3. 부모 클래스에 자식 클래스와 동일한 이름의 변수나 메소드가 있다면 자식 클래스의 것이 우선이다.
4. 부모 클래스 속성과 메소드 중에서도 접근 제어자에 의해서 상속의 범위가 달라진다.
5. 제어자 중에서 static 메소드나 속성도 상속 가능하다.
'LANGUAGE > JAVA' 카테고리의 다른 글
[JAVA] JVM 메모리 구조 (0) 2014.04.24 [JAVA] 오버로딩, 오버라이딩 (0) 2014.04.14 [JAVA] 객체, 클래스, 인스턴스(작성중) (0) 2014.04.10 [JAVA] 추상화, 캡슐화, 다형성, 상속1 (0) 2014.04.10 [JAVA][String] ""와 문자열변수 비교시. (0) 2014.04.09