inflearn logo
강의

Course

Instructor

[MMORPG Game Development Series with C# and Unity] Part 1: Introduction to Basic C# Programming

TextRPG2 Finish

접근한정자에 대해서 질문있어요

346

cjswocl32532984

3 asked

1

부모클래스에서 생성자나 변수에 protected를 붙이면 물려받은 자식클래스에서 접근할수있는데

부모클래스에서 함수앞에 protected를 붙이면 왜 물려받은 자식클래스에서 접근할수없는건가요..?

가르쳐 주시면 감사하겠습니다.

C#

Answer 4

2

Rookiss

그건 이미 Knight와 Player 클래스 밖으로 빠져 나온 상황이기 때문입니다.
사실 main함수도 유심히 보면 class Program 안에 속해 있습니다.
Program과 Knight/Player는 어떤 상속 관계도 아니니까
protected 계열 변수나 함수 호출 모두 막히는게 정상입니다.

1

Rookiss

아닙니다!
함수도 (멤버변수와 마찬가지로)  protected이라면
물려받은 자손들도 그 함수를 내부에서 사용할 수 있습니다.

0

cjswocl32532984

답변 감사합니다!!

객체지향이 뭔가 많이 어렵네요..ㅠㅠ

답변 계속 곱씹어보면서 열공하겠습니다~!!

0

cjswocl32532984

아..질문을 잘못했었어요..죄송합니다.

class Player

    {

        protected PlayerType type;

        protected int hp;

        protected int attack;

        protected int GetHp() { return this.hp; }

        protected void SetInfo(int hp, int attack)

        {

            this.hp = hp;

            this.attack = attack;

        }

    }

    class Knight : Player

    {

        public Knight()

        {

            SetInfo(100, 10);

        }

    }

이렇게 자식클래스에서는 함수사용이 가능한데

main함수안에

Knight knight = new Knight();

knight.GetHp();

이렇게하면 보호수준에러가 뜨더라구요..

Knight는 Player에게 상속받고 knight는 Knight의 인스턴스니깐 사용될것같은데..왜 안되는건가요..?

Generic에 대한 질문 있습니다.

0

96

2

2022 버전에 커뮤니티 버전이 없는데 2026 버전으로 해도 무관?

0

201

2

다형성 캐시 문제

0

113

3

.

0

71

1

프로퍼티 강의 질문 있습니다.

0

78

1

이후 커리 질문

0

86

1

static

0

91

2

강의에는 새로운 클래스 파일을 생성하면...

0

72

1

생성자의 이름 선언

0

65

1

9:03 Divide(10 , 3) 부분 질문입니다

0

88

1

깃허브 관련 질문 있습니다.

0

239

1

비쥬얼 스튜디오 업데이트가 된건가요..? 매개변수 오류 관련 질문

0

249

1

C# 시리즈 || C++ 시리즈 자료구조 강의에 대한 질문입니다!

0

306

2

Activator 질문있습니다

0

332

1

이넘 타임 선언 질문

0

346

1

Sort 오름차순, 내림차순

0

323

1

질문 있습니다.

0

249

1

팩토리얼 문제

0

270

1

Sort함수 질문있습니다.

0

265

1

다형성 함수 질문 있습니다.

0

221

1

질문이 있습니다.

0

227

1

섹션2 연습문제 질문입니다.

0

214

1

안녕하세요~서버에 대해 질문이 있습니다.

1

282

1

텍스트 색깔이 제 편집기와 달라서 수강에 어려움이 있습니다ㅜㅜ

0

394

1