본문 바로가기

스터디/C#13

정적메서드에서는 자기 자신의 인스턴스 메서드 호출불가 class Program { // 정적메서드 public static void Main(string[] args) { Sub() } static void Sub() { // 위의 Main메서드에서 Sub메서드를 사용하려면, Sub를 꼭 붙여주어야만 한다. } } 인스턴스 메서드를 호출하려면 어느 인스턴스인지 지정해야 하는데, Main메서드는 인스턴스가 존재하지 않은 상태로 동작함 --> 인스턴스를 특정할 수 없음 --> 그러므로 내부 메서드를 호출하고 싶다면, 불러와야할 메서드를 정적 메서드로 정의해야 함 2019. 8. 14.
[용어] 시그니처 메서드 이름, 반환(return)값의 형, 접근자 제한 수준과 같이 메서드가 가지는 특징 2019. 8. 14.
Value 타입 vs Reference 타입이 나뉘어 존재하는 이유 1. 프로그램이 실행되는 효율 2. 메모리 공간을 사용하는 효율 큰 객체가 value타입이라면? 변수를 대입할 때마다 객체의 내용을 복사하는 처리가 수행 --> 비효율 반대로, Reference타입이라면 주소값만 복사 --> 비교적 효율적 작은 객체의 경우에는? Reference타입이라면 주소를 저장하는 영역과 객체내용을 저장하는 영역, 2개의 영역이 필요 하지만, 작은 객체를 위해 2개의 공간이 사용되는 것은 비효율적 객체가 클수록 Reference타입이 유리하고, 작을수록 value타입이 유리함 ** C#에서 value타입을 nullable형식으로 만드려면, ?를 데이터타입 우측에 추가기입해야한다. Reference타입의 경우에는 기본값은 null이다. // value타입 int? number = n.. 2019. 8. 14.
코드 스니펫(Code Snippet) 스니펫(snippet)? [*스니핏이라고 부르는 경우도 있는듯] 재사용 가능한 소스 코드, 기계어, 텍스트의 작은 부분을 일컫는 프로그래밍 용어 사용자가 루틴 편집 조작 중 반복 타이핑을 회피할 수 있게 도와준다. 특정 코드의 형태를 단축키로 불러오는 기능을 말하는 듯 비주얼 스튜디오에서 C# 코딩할 때, 에디터에 prop이라서 타이핑 후에 tab을 2번 누르면 public object MyProperty { get; set; } 위와 같이 자동완성된다. 그 외에 fore+tab+tab -> foreach문 자동완성 ctor+tab+tab -> 생성자 자동완성 2019. 8. 13.