목록Some Memos/C# (22)
Wanna be Brilliant Full-Stack Developer
Partial Class 는 분리클래스라고 불리는데 클래스를 쪼개는것이다. 하나는 변수만 모아놓는 클래스, 계산함수만 모아놓는 클래스, 메시지 출력만 해놓은 클래스를 CData라는 클래스가 실제로는 하나지만 가상으로 분리해놨다고 말할 수 있다. 클래스를 기능별로 구분할때 나중에 찾을때 편하니까 이렇게 해놓는것이다. 실제로 우리가 만들 프로그램은 마트 계산대와 같은것을 구현할것이다! Enum에 보면 클래스 내부에 보통 지정을 하는데 다른 클래스들에서 다 접근을 하려면 안될 수가 있기 때문에 그래서 외부에 설정할 수 있다. 그래서 Form1에서도 불러다 쓰고 다른 클래스에서도 불러다 쓸수 있도록 할것이다. using System; using System.Collections.Generic; using Sys..
오버로딩과 오버라이딩은 이름이 비슷하다는 이유로 많이 헷갈려한다. 오버라이딩 같은경우에는 오버라이드라는 키워드를 가지고 있다. 오버라이딩은 상속과 관련이 있는 내용이고 오버로딩과 같은경우는 메소드와 관련이 있다. 지난번에는 버튼을누르면 이동하는거였는데 이번에는 키보드를 통해서도 쭉 움직일 수 있도록 해보려고 한다! 구조도 이런방식으로 변경해보려고 한다! 오버라이드 키워드의 특징은? 부모클래스에서는 virtual을 설정하고 자식 클래스에서는 override로 정의한다! 이놈이 부모라고 정의를 한것이고! 자식 클래스에서는 public override void fMove(int iMove) { base.fMove(iMove); fCircle2Move(iMove); } base 함수를 통해 부모 클래스의 함수를..
CBASE라는 클래스를 만들었는데 직접적으로 사용하지는 않을것이다. 나중에 CBASE에 있는것들을 상속받아서 COneCycle이라는것을 만들것이다. CCycle도 CBASE에한테 상속을 받아서 하나 만들것이고 CCAR은 CCYCLE한테 상속을 받아서 만들것이다. 위에있는것들이 부모클래스이고 밑에 있는것들은 자식 클래스이다! 부모클래스에 있는것들을 그대로 쓰기 때문에 재사용 및 확장에 용이하고 코드를 줄일 수가 있다. 근데 부모에 있는 내용을 자식한테 모든걸 보여줄필요는 없다. 화면에다가 뿌릴려고 할때도 클래스 안에 있는 내용들을 전부다 보여주면 양이 너무 많아 질수도 있다. 앱에만 보여줄 수 있는 부분이나 가져다쓸수 있는부분을 제한을 시킨다. 접근 제어라는 부분들이 프로그램을 처음할때부터 익숙하게 쓰고 ..
상속은 부모 클래스가 두개가 있으면 부모클래스가 가지고 있는 하위 항목들 필드, 메서드와 같은것들을 하위클래스에서 가져와서 사용할 수 있다. 하위클래스는 부모클래스의 상속을 받아서 만들면 굳이 따로 만들지 않아도 사용이 가능하다. 오버라이드와 오버로딩! 오버로딩 같은경우에는 이름이 똑같은 메소드인데 인자들을 다르게 해서 같은 함수를 여러개 쓸 수 있도록 해주는것이다. 그 다음에 오버라이딩은? 기존에 있던거를 불러와서 같은 이름인데 내용을 다르게 해서 새로 만드는것이다. 생성자는? 클래스를 호출을 할때 NEW로 해서 하는데! NEW를 할때 클래스와 이름이 똑같은 함수가 하나생긴다. 이걸 만들어 놓으면 그 안에 잇는 내용들을 여기 안에 있는 내용들을 안에서 작접을 하고 끝낼수있다. 안만들어도 실행을 할때 있..