implements를 통해 부모 클래스(Animal)의 정보를 자식 클래스(Dog)이 가져온다.
이를 통해 자식 클래스는 부모클래스의 속성(private 이외의 속성)과 메소드를 사용할 수 있다.
* 다른 패키지의 클래스를 사용하기 위해서는 패키지를 import 해야한다.
상속을 통해 다른 패키지의 protected 속성(변수) 사용하기
자식 클래스
package house.person; // 패키지가 서로 다르다.
import house.HousePark;
public class EungYongPark extends HousePark { // HousePark을 상속했다.
public static void main(String[] args) {
EungYongPark eyp = new EungYongPark();
System.out.println(eyp.lastname); // 상속한 클래스의 protected 변수는 접근이 가능하다.
}
}
부모 클래스
package house;
public class HousePark {
protected String lastname = "park";
}
// 다른 패키지의 AnotherClass
package vvvvv;
import sssss.ParentClass;
public class AnotherClass extends ParentClass {
public static void main(String[] args){
AnotherClass child = new AnotherClass();
child.protectedMethod(); // 같은 패키지 내에서 protected 메서드 접근 가능
}
@Override
protected void protectedMethod() {
super.protectedMethod();
}
}
package sssss;
//다른 패키지의 ParentClass
public class ParentClass {
protected void protectedMethod() {
System.out.println("This is a protected method.");
}
}
class Animal {
public void eat() {
System.out.println("밥먹기");
}
public void move() {
System.out.println("움직이기");
}
}
class Dog extends Animal {}
public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
dog.move();
dog.eat();
}
public class MyController {
MyRepository myRepository;
public void save() {
//MemoryRepository에게 save 권한을 위임
myRepository = new MemoryRepository();
myRepository.save();
//JpaRepository에게 save 권한을 위임
myRepository = new JpaRepository에게();
myRepository.save();
}
}
코드 출처:
https://sorjfkrh5078.tistory.com/282
https://wikidocs.net/232