클래스 (class)Python 클래스(class)는 다음 예제와 같이 정의합니다. 클래스 이름은 관습적으로 대문자로 시작합니다. 123456789101112131415class MyClass: """A simple example class""" # 따옴표 3개로 코멘트 def __init__(self): # 컨스트럭터 (생성자) self.name = "" def getName(self): # getName() 메소드 return self.name def setName(self, name): # setName() 메소드 self.name = name a = MyClass() # 클래스의 인스턴스 생성a.setName("Tanaka") # setName() 메서드 호출print a.getName() # g..
컴파일러는 낮은 레벨에서 C# sealed 클래스를 micro-optimization 할 수 있습니다. 컴파일 타임에 C# sealed 클래스에 함수를 호출하면 callvirt IL 명령어 대신 IL 명령어를 사용합니다. C# sealed 클래스의 함수는 오버라이드 되지 않음.가상 함수 테이블 검사 과정을 생략.가상 함수 테이블은 조회 시간이 상대적으로 짦음.callvirt 보다 속도에서 유리함. 이렇기에 성능이 조금 좋아집니다. 최적화 중이라면 적용하세요. 즉, 다형성을 잃어버린 클래스라 선언했기에 컴파일러는 여러 검사 과정을 생략합니다. (확장되지 않는 클래스) 예를 들어, non-sealed 클래스에 makeNoise()란 함수가 있을 때, 이 함수의 재정의 여부는 알 수가 없습니다. 함수 재정의 ..
C# Tuple 튜플의 개념(클래스)과 사용 예제 7개 (List, var, string 응용) C# Tuple 고양이 한 마리가 방 안으로 들어옵니다. 이 고양이의 털은 노랗고, 부드럽습니다. 튜플은 이런 정보를 모두 저장할 수 있는 클래스입니다. 튜플의 인스턴스들은 변경할 수 없는(immutable) 고정 항목을 갖습니다. 그리고 Tuple의 타입은 Class라는 것을 잊지 마세요. 아래 예제에선 3개의 아이템을 갖는 튜플을 선합니다. 그리고, 아이템 1, 2, 3의 속성을 읽습니다. 변경하진 않습니다. (못합니다) 1234567891011121314151617181920212223242526272829303132using System; class Program{ static void Main() {..