7. 접근 제한자
✓ 접근을 제한하고 싶을 때 사용해요.
✓ 왜?
- 외부의 잘못된 사용으로 인해 객체가 손상되지 않기 위해서
8. 접근 제한자
접근 제한자 설명
public 모든 외부에서 접근할 수 있어요.
private 동일한 클래스/구조체 안에서만 접근할 수 있어요.
protected 파생클래스에서 이 클래스 멤버에 접근할 수 있어요.
internal 같은 어셈블리에서만 접근할 수 있어요.
38. 클래스 상속
✓ 부모 클래스(Base Class)를 상속받아서 파생 클래스(Derived Class) 를 만들 수 있어요.
✓ 파생 클래스에선 부모 클래스의 public, protected 멤버를 쓸 수 있어요.
✓ 파생 클래스는 부모 클래스에게 물려 받는 멤버와 자신만의 고유 멤버를 가질 수 있어요.
✓ 한 개의 클래스만 상속받을 수 있어요.
54. Object
✓ C#의 모든 클래스/구조체는 Object 클래스를 상속받아요.
✓ 굳이 Object를 상속한다고 표기하지 않아도. 자동으로 Object 클래스를 상속받아요.
✓ 모든 변수에 .ToString() 등 을 사용할 수 있는 이유는 Object 클래스를 모든 타입이 상속받
기 때문이에요.
✓ Object를 사용해야할 때 object 키워드를 이용할 수도 있어요.
55. 캐스팅
✓ C#에서도 데이터 타입을 강제로 변환하는 캐스팅을 할 수 있어요.
✓ C와 비슷한 방식으로 하면 돼요.
66. 인터페이스
✓ 클래스와 비슷하게 메서드, 속성, 이벤트, 프로퍼티 등을 가져요.
✓ 하지만 인터페이스에선 이들을 직접 구현하지 않고, 프로토타입만 가지고 있어요.
✓ 역시 상속의 대상이 될 수 있어요.
✓ 인터페이스를 상속받은 클래스는 인터페이스의 모든 멤버를 구현해야 해요.
✓ 클래스 상속과는 다르게 여러 인터페이스를 상속받을 수도 있어요.
75. 과제
▪이번 시간에 알아본 내용으로 충분히 구현할 수 있는 과제도 있어요.
문제 하나당 한 소스파일을 작성해주시면 돼요.
각 소스파일의 이름은 과제1, 과제2, 과제3이나 문제1, 문제2, 문제3 등 자유롭게 적어 주시
면 돼요.
▪과제는 의무적인 건 아니에요!
하셔도 되고 안 하셔도 돼요. 자유롭게, 부담 안 가지셔도 돼요!