C# - Null 조건부 연산자 ?.
·
C#
Null 문제?C# 프로그래밍을 하다 보면 NullReferenceException 이라는 오류를 종종 봤을 것이다.이 오류는 객체가 null인데 그 객체의 메서드나 프로퍼티에 접근하려고 했을 때, 런타임에서 프로그램이 터져버리는 문제다. 예를 들어, 캐릭터를 형변환(as)했는데 실패하면 null이 반환된다.그런 상황에서 그 캐릭터 클래스의 내부 데이터나 메서드에 접근하려고 하면 오류가 발생한다.(party[0] as Hunter).Roll(); // 변환 실패 시 null.Roll() - NullReferenceException 발생 Null 조건부 연산자 (?.)C# 6.0 부터 도입된 Null 조건부 연산자(?.)는, 객체가 null인지 아닌지를 간단히 확인하고, null일 경우 뒤에 메서드 호..
C# - 추상 클래스 (Abstract Class)
·
C#
추상 클래스 (Abstract Class)완전한 구현체가 아닌, 객체 지향 프로그래밍에서 공통된 뼈대만 제공하는 클래스를 말한다. 주요 특징은 다음과 같다.인스턴스화 불가능 : 직접 new 키워드로 객체를 만들 수 없다상속 전용 : 다른 클래스가 상속받아 구체적인 기능을 구현하는 용도로만 사용된다.추상 메서드 (Abstract Method) : 자식 클래스에서 반드시 재정의 하도록 강제하는 메서드를 포함할 수 있다.일반 메서드, 필드, 프로퍼티도 포함 가능 : 단순 뼈대만 있는 인터페이스와 달리, 일부 기본 구현을 제공할 수 있다. 즉, 추상 클래스는 부분적으로 구현된 클래스이자 뼈대가 되는 클래스다. abstract class MyClass{ // 추상 메서드 (내용 없음. 자식 클래스에서 반드..