전용과 보호 즉 Private 와 Protected 에 대해 공부중인데용
책에서 자세히 안나와있길래.
코드보면서 비교해보고 그러니까 대충
클래스에 전용으로 선언된 부분은
파생클래스 ( Derivation class) 에서는 사용이 안되는건가요 ?
하지만 클래스에 보호로 선언된 부분은
파생클래스에서 사용이 가능한건가요?
즉 전용과 보호 모두 메인함수에서는 건들이지 못하고
클래스내에서만 건들일수 있다.
하지만 범용(public)은 메인에서도 건들일수가있다.
여기서 전용과 보호의 차이는
파생클래스에서의 사용가능성의 유무에 차이다 라는건가용?
여기에서 상속을 이야기해보자면
기존 클래스자료가 파생클래스에 모두 상속이 된다 .
하지만 전용으로 선언된 부분은 상속이 안된다는거예요?
아니면 전용으로 선언된 부분은 상속은 되나 수정이 불가능하다는거예요?
힝힝... 역시 독학이 최고인듯합니다.
하지만 그래도 고수의 조언이 독학의 지름길같아요 ㅎ
Private된건 파생클래스에서 사용못한다고 알고있음
Private된건 상속안된다고 이해하면됄꺼에요
직접 돌려서 확인해보는게 제일 빠르고 제일 좋고 머릿속에도 잘 들어온다. 이론만 보지말고 실습위주로 가자.
그리고 Private로 지정된것에 대해 제어를 할려면 게터와 세터를 이용해야됌...
public은 메인이 아니라 클래스 외부에서 건드릴 수 있다가 맞는 표현이겠지요. Private와 Protected의 차이는 하위(자식,파생)클래스에서의 접근성의 차이가 맞습니다. C++에서 private부분은 상속되나 건드릴 수가 없는걸로 알고있는데.. private 변수에 대한 public 게터 (예를 들면 private : int a; public : int getA() { return a;})를 만들어서 하위클래스에서 호출해보면 확실하겠네요. (대신, 되더라도 절대 이렇게 사용하진 마시라..)
프로퍼티를 알고 나면 getA이딴게 얼마나 짜증나는 짓인지 알게 될거임
그리고 정 이해가 안가면 표를 한번 만들어 봐요
유리한횽도 등장해주셨네연. 횽말대로 실습위주가 최고이긴하지만. 지금 현재 제상태론 코드와 이론을보면서 이해하고 넘어가야해서 ㅠㅠ;;
Dynast횽 맵돌이횽 횽들덕분에 이해가 쏙쏙되 ㅠ 공부할맛이 난다 ㅠㅠ ㅎㅎ 이해가 되어가니까
글쓴이//괜히 컴퓨터 실험이라는게 있는게 아님
넉넉한터횽 횽이말하는표는 어떤표를말하는거예용? 프로그래밍이 실행되는 순서를 표로만들어보라는거예용?
c# 처음 쓸때 프로퍼티 보고 질질 쌌었지만, 좀 지나니까 그닥 필요없는듯
아니 접근 제한자 와 베이스 클래스 및 파생 클래스의 접근 관계를 O X 이런식으로 표현해 보라는거
열공하세염
프로퍼티? G5랭의 게터/세터 보고는 대체 이게 의미가 있는건지조차 의심하고 있음.. 일단 걍 a란 변수를 만들면 getA와 setA란 함수가 자동으로 따라나오는거.. 게다가 외부에서 getA, setA대신 a란 이름으로 getA, setA를 사용할 수 있게 해줌.. 돌고돌아 제자리아닌가 싶은.. (뭐, getB, setB함수만 만들면 따로 b란걸 안만들어도 b를 변수처럼 쓸 수 있긴 한데..)
맵돌이 // 프로퍼티를 쓸 바에야 차라리 public으로 변수를 두는게 낫다는거?
넉터 // ㄴㄴ. 프로퍼티가 캡슐화 측면에서 더 나음
우냥//글니까여 동감. 프로퍼티는 원한다면 읽기/쓰기 의 권한을 조정해 줄 수 있잖아염
게터/세터 vs public도 신흥강호떡밥