C#/2. 메서드 & 클래스 & 인터페이스 5

인터페이스의 개념과 상속, 추상클래스

interface 인터페이스 이름{ 반환형식 메서드이름(매개변수들); 반환형식 메서드이름(매개변수들); 반환형식 메서드이름(매개변수들);} 우선 인터페이스는 이런 형식으로 interface 키워드를 이용해서 선언한다클래스를 선언하는것과 굉장히 유사해보이지만 인터페이스는 메서드,이벤트,인덱서,프로퍼티만을 가질 수 있다 interface ILogger{ void Writelog( string message );} 실제로는 이런식으로 선언한다하지만 인터페이스는 메서드,이벤트,인덱서,프로퍼티만 가실 수 있으며 구현부가 존재하지 않는다심지어 접근제한자마저 없으며 모든것이 public으로 자동 선언된다. 게다가 인스턴스까지 만들 수 없다 그렇다면 인스턴스는 왜 사용하는것일까? 비록 인..

중첩 클래스, 분할 클래스, 구조체, 튜플

중첩 클래스란 클래스 안에 선언되어 있는 클래스를 말한다. class Outerclass{ class Inclass { ... }} 이런식으로 중첩 if문이나 for문 쓰는것처럼 사용하면 된다중첩 클래스가 다른 클래스와 다른 점이 있다면 자신이 소속된 클래스의 멤버에 자유롭게 접근이 가능하다는것이다심지어 private 클래스에까지 접근이 가능하다 class Outerclass{ private num; class Inclass { Outerclass outerclass = new Outerclass(); outerclass.num = 10; }} 그렇다면 중첩 클래스를 쓰는 이유는 무엇일까? 1. 클래스 외부에 공개하고 싶지 않은..

접근한정자, 상속, is,as, 오버라이딩과 다형성, 오버라이딩 봉인, 읽기전용 필드

접근 한정자는 감추고 싶은 것은 감추고, 보여주고 싶은것은 보여줄 수 있도록 코드를 수식하며필드, 메서드를 비롯해 프로퍼티 등 모든 요소에 사용할 수 있다 public : 클래스의 내부/외부 모든곳에서 접근 가능protected : 클래스 외부에서는 접근X, 파생클래스에서는 접근 가능private : 클래스의 내부에서만 접근 가능, 파생클래스에서는 접근 Xinternal : 같은 어셈블리에 있는 코드에서만 public으로 접근 가능 만약 어떠한 접근한정자도 수식하지 않는다면 클래스의 멤버는 무조건 private로 접근 수준이 자동 지정된다즉 클래스 내의 멤버는 일단 감추고 나중에 공개할지를 결정하는것이 순서이다 사실 유니티를 공부하며 이미 상속에 대해서 배우긴 했지만 객체지향 프로그래밍에서는 물려받..

객체지향 프로그래밍, 클래스, 생성자, 정적필드(static), this 키워드

클래스를 이야기하려면 먼저 객체지향 프로그래밍이라는것을 먼저 알아야한다사실 예전에도 객체지향에 대해 정리해둔 글이 있다   클래스와 오브젝트는 객체지향의 핵심이다.객체지향은 '사람이 현실 세상을 보는 방식'에 가깝게 프로그램을 완성하는것'이다 클래스 : 표현하고 싶은 대상을 추상화하여 대상과 관련된 변수와 메서드를 정의하는 틀이다(추상화 : 대상의 핵심적인 개념과 기능을 추려내는것) 오브젝트 : 물건의 설계도인 클래스와 달리 그 설계도로 만들어낸 실제 존재하는 물건(실체)이다  그림을 보면 더 이해가 쉬울 것이다 Human이라는 설계도(클래스)를 이용해철수와 영희라는 사람(오브젝트)를 만들어내는 원리인 것이다.  마치 전세계에게 몇십억의 인구가 있지만 모두 '인간'으로 분류되듯 아무리 많은 오브젝트들이라..

메서드, 매개변수, 반환 타입, return문, 참조에 의한 전달&반환, ref/out 키워드, 메서드 오버로딩, 명명된 인수, 선택적 인수, 로컬 함수

#2 유니티 엔진 동작 원리 (클래스,메서드,상속,컴포넌트, 브로드캐스팅, MonoBehavior)이번글에서는 유니티에서 엔진이 동작하는, 정확히는 게임 속 모든 오브젝트들이 움직이는원리에 대해서 알아보려고 한다 그전에, 이미 다른글에도 정리되어 있지만 가장 기본이며 가장 많이sangeun00.tistory.com  #3 C# 프로그래밍 (메서드, 간단한 코딩예시, 클래스,인스턴스,접근제한자,참조타입)이번에 해볼것은 바로 유니티에서 쓰이는 C# 프로그래밍이다하지만 지금 이 글을 쓰고 있는 시점과 비슷하게 이미 나는 C# 공부를 따로 하고 있고  CLR, 변수, 스택과 힙, 데이터 형식, 박싱&언박sangeun00.tistory.com 이미 메서드에 대해서는 질리도록 다뤘기 때문에 정말 마지막으로 짚고 넘..

반응형