본문 바로가기

프로퍼티3

[C#] 추상 프로퍼티 추상 프로퍼티 - 추상 클래스는 클래스처럼 구현된 프로퍼티를 가질 수도 있는 한편, 인터페이스처럼 구현되지 않은 프로퍼티도 가질 수 있다. 추상 프로퍼티 역시 인터페이스의 프로퍼티와 다를 것 없다. 왜냐하면 파생 클래스가 해당 프로퍼티를 구현하도록 강제하는 것뿐이다. 선언 인터페이스처럼 구현을 비워놓은 것만으로는 추상 프로퍼티를 만들 수 없다. 왜냐하면 C# 컴파일러가 자동 구현 프로퍼티로 간주하고 구현을 자동으로 채워놓기 때문이다. 추상 프로퍼티는 abstract 한정자를 이용해서 선언한다. 추상 프로퍼티를 갖는 추상 클래스 상속 추상 클래스는 구현을 가진 프로퍼티와 구현이 없는 추상 프로퍼티 모두를 가질 수 있다. 또한 파생 클래스는 부모 추상 클래스의 모든 추상 메서드뿐 아니라 추상 프로퍼티를 재정.. 2019. 10. 15.
[C#] 프로퍼티 프로퍼티 - '속성'이라고 의미를 가지고 있는 프로퍼티는 전용 필드의 값을 읽거나 쓸 수 있는 유연한 메커니즘이다. 데이터의 쉽게 접근할 수 있으며, 메서드의 안정성과 유연성 수준을 올려주는데 도움이 된다. 프로퍼티 더 알아보기 클래스를 작성하다 보면 필드를 public과 private 중에 무엇으로 선언할지 고민하는 경우가 있다. 은닉성을 지키자니 번거롭고, 모든 public으로 선언하자니 은닉성이 신경 쓰이는 상황에 놓인다. 하지만 프로퍼티를 이용한다면 은닉성과 편의성, 둘 다 잡을 수 있다. 하지만 필드와 달리 프로퍼티는 변수로 분류되지 않기 때문에 ref 또는 out 매개변수로 전달할 수 없다. 선언 프로퍼티 선언 문법에서 get과 set을 일컬어 '접근자'라고 한다. get 접근자는 필드로부터 .. 2019. 9. 28.
이것이 C# 9장 연습문제 풀이 1. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 using System; using static System.Console; namespace Practice2 { class NameCard { public int age { get; set; } public string name { get; set; } } class MainApp { public static void Main() { NameCard nameCard = new NameCard() { name = "상현", age = 24 }; WriteLine("나이 : {0}", nameCard.age); WriteLine("이름 : {0}", nameCard.name); } } } http://colorsc.. 2019. 5. 13.