본문 바로가기
프로그래밍언어/Java

[Java] : 상속을 허용하는 protected

by 오주현 2022. 1. 17.
반응형

상속을 허용하는 protected

protected는 public과 다르게 같은 패키지와 클래스에서만 접근할 수 있다.

예시 코드

class RcCarSetting {
    protected String color;
    int speed;

private를 공부할 떄 만든 코드를 조금 변형했다.

color을 protected로 지정해 줬다.

class RcSedan extends RcCarSetting {
    void setSpeed(int speed) {
        this.speed = speed;
    }

    void setColor(String color) {
        this.color = color;
    }
}

RcSedan 클래스에서 speed와 color의 set 메서드를 만들어줬다.

public class RcCar {
    public static void main(String[] args) {
        RcSedan rcSedan = new RcSedan();

        rcSedan.setColor("Red");
        rcSedan.setSpeed(300);
        System.out.println("RcSedan의 속도 => " + rcSedan.speed);
        System.out.println("RcSedan의 색상 => " + rcSedan.color);
    }
}

RcCar 클래스에서 인스턴스를 생성해주고 set을 통해 파라미터 값을 넣어주고 출력을 해봤다.

private 접근 제한자를 사용할 때에는 오류가 났었는데 protected 접근 제한자를 사용하니 오류가 나지 않는다. 이처럼 protected 접근 제한자는 같은 클래스나 패키지 안에 있을 때 접근이 가능하다.

반응형

댓글