목록C# (52)
승쨩개발공부
인터페이스는 사용자 정의 자료형이다. 인터페이스는 맴버변수, 함수의 정의를 설정할수없다. 인터페이스의 접근지정제한자는 public으로 되어있고 public만 사용이 가능하다. (눈에 보이진않지만 public, 자식은 public이라고 명시를 해주어야함) 맴버변수와 함수의 정의를 사용할 수 없는 모습. 인터페이스는 인터페이스의 함수의 선언을 상속받은 자식클래스에게 강제시킨다 (즉 인터페이스의 함수의 선언을 자식클래스가 정의를하지않으면 사용하지못함) 자 그럼 이 인터페이스가 무슨 장점이 있느냐? 다중상속같은 개념이 가능하다. C++같은경우 다중상속이 가능한데 맴버변수같은 충돌이 일어날수있어서 있어도 위험해서 잘 쓰지않는다. C#은 위험하니까 그냥 다중상속을 막아놨는데 대신 interface로 맴버변수를 막고..
Partial = 부분적인 이라는 뜻을 가지고 있다. 즉 Partial Class 라는건 부분적인 클래스 라는 것. 만약 Player 의 여러가지 기능들을 하나의 파일에서 관리한다면 줄이 너무 길어지고 함수 읽고 찾기도 힘들고, 디버깅하기도 불편해질것같다. 그럴떈 Partial로 클래스 이름은 같지만 클래스 파일 이름을 다르게해서 기능을 부분적으로 관리해보자. (클래스 파일이 쪼개져있지만 다 한곳에 있는것처럼 사용가능) 즉 파일 분할해서 같은 클래스 이름으로 사용이 가능하다. 1번 클래스 파일 2번 클래스 파일 같은 Class Player로 보고 메인에서 사용이 가능하다.
1. C#은 헤더 파일 임포트가 따로 없다 안보이는 중앙 처리장치에서 일괄 임포트해서 모두 공급한다. 헤더 파일을 임포트하지 않아도 어디에서든 다 사용가능 그럼 c++처럼 선언문(헤더) 정의문(cpp) 나눠서 하고싶은데 어떻게 해야할까.. 대신 C#은 클래스가 너무 길어지는걸 방지하기위해 Partial이라는게 존재. 2. C#은 클래스와 struct가 크게 다르다 c++은 사실 클래스와 Struct(구조체)가 큰 차이가없다 (상속도 가능)C#은 Struct가 상속이 안된다. 그리고 New로 생성하지 않아도 인스턴스가 된다(C# 클래스는반드시 new로 생성해야함 자체는 안됨 구조체는 자체로도 충분하고 New도 가능)C#도 Struct 인스턴스를 따로 만들어줘야한다. 1번이 가장 불편하면서도 편한거같다 코드..
프로퍼티(property)는 일부 객체 지향 프로그래밍 언어에서 필드(데이터 멤버)와 메소드 간 기능의 중간인 클래스 멤버의 특수한 유형이다. 프로퍼티의 읽기와 쓰기는 일반적으로 게터(getter)와 세터(setter) 메소드 호출로 변환된다. 선언은 Get Set함수와 다를것이없지만 Set함수는 외부 인자를 받아야하고 프로퍼티는 자료형을 설정한대로 Get Set도 같은 자료형으로 받게되고 외부 값을 value로 설정해놓으면 넣은값이 들어가게된다. 사용법 아직까진 c++ 문법이 너무 익숙해서 Get,Set이 더 편하게 느껴지지만 분명 쓰기 편할태니 자주 이용해봐야겠다.