본문 바로가기
C#

C# 용어 정리

2021. 12. 9.

프로그래밍을 처음 배울 때 나는 프로그램을 동작 시키는 방법보다는 용어가 특히나 더 어려웠다.

그냥 함수라는 말로 통칭하면 좋을것을 메서드는 뭐고 이건 또 뭐람.

아직도 크게 달라진건 없다. 

무거운 책을 맨 뒷부분까지 넘기기 싫은 나같은 사람을 위해 색인을 만들 필요가 있다고 느끼기에 온라인 색인을 작성한다.

 

내용은 계속해서 추가된다.


부모 클래스 : 상속을 제공하는 클래스. 기반 클래스, 슈퍼 클래스라고도 한다.

자식 클래스 : 상속을 받는 클래스. 파생 클래스, 서브 클래스라고도 한다.

접근 제한자 : public, private 등을 말한다.

식별자 : 변수, 함수, 클래스 등의 이름이다.

예약어 : 문법을 표현하기 위해 미리 예약된 단어를 의미한다. bool, int 등이 있다. 식별자로 사용할 수 없다.

sealed : 클래스의 선언 시, class 보다 앞에 사용하는 예약어이다. 이 예약어를 사용하면 해당 클래스는 부모 클래스가 될 수 없다.

인스턴스 : 어떤 타입을 실체화한 객체를 인스턴스라 한다. new 연산자를 거쳐 메모리에 할당된 객체라고 할 수 있다.

암시적 형변환 : 특정 변수, 또는 인스턴스가 자신보다 더 넓은 범위로 대입될 때, 별다른 명시 없이 형변환이 되는 것을 의미한다.

명시적 형변환 : 형변환 예약어 () 를 사용하여 형변환을 해준것을 의미한다. 

as : 형변환이 가능하다면 지정된 타입의 인스턴스 값을 리턴한다.

is : 형변환 가능 여부를 bool 값으로 리턴한다. C# 7.0에서부터 is 연산자는 as 연산자의 기능을 포함한다.

기본형 변수 : 실제 값(리터럴)을 저장하는 공간이다. int, double 등을 생각하면 된다.

참조형 변수 : 실제 값이 아닌 주소 값을 저장한다. 델리게이트를 생각하면 된다.

object : 모든 클래스의 부모 클래스이다.

ToString : 해당 인스턴스가 속한 클래스의 전체 이름(FQDN)을 리턴한다.

정적 메서드 : static으로 정의된 메서드. 선언되어 있는 클래스의 전역 변수라고 생각하면 된다.

this : 클래스 내부에서 자기 자신을 가리키는 예약어이다.

base : 부모 클래스를 명시적으로 가리킬 때 사용한다. base를 이용해 부모 클래스의 생성자를 호출할 수 있다.

메서드 오버라이드 : 부모 클래스에서 virtual로 정의된 메서드를 자식 클래스에서 override 예약어로 재정의 하는 것을 의미한다. 메서드 시그니처가 완전히 동일한 메서드를 재정의 하는 것.

가상 메서드 : virtual 예약어로 선언된 메서드.

new : 부모 클래스의 메서드와 동일한 이름의 메서드를 자식 클래스에서 만들고 싶을 때, 해당 메서드의 접근 지정자 앞에 new 예약어를 사용해 이름만 같은 새 메서드를 정의할 수 있다. 값 형식을 new 로 할당시, 해당 값을 0으로 초기화 한다.

메서드 시그니처 : 어떤 메서드를 고유하게 식별하고 정의할 수 있는 정보들. 메서드 이름, 리턴타입, 매개변수의 수와 개별 매개변수의 타입이 있다.

오버로드 : 메서드 시그니처중 리턴값은 무시하고 이름만 같은 메서드가 매개변수의 수, 개별 매개변수 타입만 다르게 재정의 되는 것.

연산자 오버로드 : 연산자가 해당 클래스 안에서 다른 기능을 하도록 하는 것.

implicate : 암시적 형변환을 시도할 시 자동으로 호출되는 메서드. 단위 관련 형변환을 생각하면 된다.

explocit : implicate와 비슷하지만 expocit은 반드시 명시적 형변환을 해 주어야 한다.

중첩 클래스 : 클래스 안의 클래스.

internal : 접근 제한자중 하나로 지정된 변수, 형식은 선언된 어셈블리 내에서만 접근 가능하게 한다.

추상 메서드 : abstract 예약어를 통해 지정한다. 구현 코드가 없는 메서드를 의미하고 반드시 자식 클래스에 재정의를 해야 한다.

추상 클래스 : 추상 메서드를 가질 수 있는 클래스로, new 예약어를 사용해 인스턴스로 만들 수 없다.

델리게이트 : 함수 포인터이다.

콜백 메서드 : 피호출자에서 호출자의 메서드를 호출하는 것을 의미한다. 다른 타입에 정의된 메서드를 피호출자가 전달해서 호출하는 것도 그냥 콜백 메서드로 통칭한다.

강력한 결합 : 클래스 간의 호출되는 관계를 말한다. 유연성이 떨어질 수 있다.

느슨한 결합 : 인터페이스를 사용. 강력한 결합의 반대이다. 클래스 간에 구현 타입의 정보 없이 인터페이스 등의 방법을 이용해 상호 간에 맺는 계약만으로 동작하는 것을 의미한다.

enum : 열거형. 각 원소마다 인덱스를 가진다. 지정하지 않는다면 0 부터 순차적으로 인덱스를 가진다.

가변 객체 : 필드의 값이 변할 수 있는 객체.

불뱐 객체 : 상태가 한번 지정되면 다시 바꿀 수 없는 객체.

댓글