728x90

전체 글 192

[C#Project] TextRPG게임설계

C#으로TextRPG게임 만들기 우선 필수적으로 구현해야 하는 기능은 아래와 같다. 1. 게임 시작 화면2. 캐릭터 상태보기3. 인벤토리4. 장착관리5. 상점 - 아이템 구매 구조 설계처음에 아래와 같이 클래스를 설계하고 시작했다. 그런데 생각해보니 각각의 클래스가 하는 역할이 명확하고, 구조적으로 좋을 것 같아서 MVC패턴으로 짜기로 결정했다. 처음에 설계를 하고 시작하기 위해 나름의 설계를 하였으나 나중에 예상보다 더 설계의 부족함을 느꼈고 팀프로젝트를 할 때는 더 구체적으로 기획을 하고 시작해야겠다고 마음먹었다.

C#/C#프로젝트 2025.04.18

[GitHub] GitHub프로젝트 파일 받아와서 작업 - local branch와 remote branch

GitHub develop브랜치 클론해오기이때까지 어려웠던 깃허브의 브랜치... 오늘 이재현튜터님께 듣고 공부를 했으니 정확하게 정리를 해보자. 브랜치는 깃허브사이트 프로젝트에서 만들어진 브랜치(리모트 브랜치)와 내가 작업하는 공간에서 만들어진 브랜치(로컬 브랜치)가 있다. 🔹이해를 쉽게 하기위해서 깃허브 사이트, 즉 리모트 브랜치에 main이 있다고 생각해보자.나는 이 main에서 develop브랜치를 만들었다. 그러면 이제 remote브랜치에는 아래 사진처럼 main,develop브랜치가 있다. ① 이제 아래의 명령어를 통해 main브랜치는 로컬로 가져오지 않고, develop브랜치만 가져온다. (팀원들이 받을 때는, develop브랜치를 클론하세요~~)git clone --branch devel..

GitHub 2025.04.18

[GitHub] Unable to merge when changes are present on your branch. 오류

오류원인깃허브에 push하려고 했는데 이런 오류가 났다.이 오류는.. 내가 처음에 push할때 gitignore에 캐시파일 추가를 안하고 그냥 push해버려서 생긴오류였다.. 그리고 오류를 해결하려다 보니 나도 모르게 stashes(스태시)도 만들어버렸다. 해결방법해결을 위해 Git Graph와 GitLens를 설치하고, GITLENS에서 스태시파일을 지워줬다.(빨간 동그라미를 눌러 지울수 있다.) 이후 병합을 해결하기 위해 현재 파일을 선택해서 덮어씌우기를 한 후 push했다.

GitHub 2025.04.18

[C#] 오버라이딩

1. 오버라이딩이란?오버라이딩은 부모 클래스에서 정의된 메서드를 자식 클래스에서 재정의하여, 상황에 맞게 다르게 동작하도록 만드는 기능. 오버라이딩(Overriding)은 상속 관계에서 사용되며,부모 클래스의 메서드를 자식 클래스가 다시 정의해서 덮어쓰는 것을 의미한다. C#에서는 이때 다음과 같은 키워드를 사용한다.virtual: 부모 클래스에서 오버라이딩 가능한 메서드에 사용override: 자식 클래스에서 메서드를 재정의할 때 사용 2. 오버라이딩 기본 구조class Animal { public virtual void Speak() { Console.WriteLine("동물이 소리냅니다."); }}class Dog : Animal { public override void..

[C#] 다형성(Polymorphism)

1. 기본 개념다형성은 같은 메서드 호출이지만, 객체에 따라 다르게 동작하게 만드는 객체지향 프로그래밍의 중요한 개념이다.예를 들어 Speak()이라는 메서드를 동물마다 다르게 구현할 수 있다. 2. 가상(Virtual) 메서드부모 클래스에서 메서드를 virtual로 선언하면, 자식 클래스에서 이를 override하여 다른 방식으로 재정의할 수 있다.→ virtual뜻은 자식이 재구현 했을 수 있다. 재정의를 했을 수 있다, 실형태가 다를 수 있으니 실형태에 재정의가 되어있는지 확인해봐라라는 뜻class Animal { public virtual void Speak() { Console.WriteLine("동물이 소리를 냅니다."); }}class Dog : Animal { ..

[C#] 상속(Inheritance)

1. 기본 개념상속은 객체지향 프로그래밍의 핵심 개념 중 하나로 기존 클래스의 기능을 물려받아 새로운 클래스를 만드는 것을 말한다.코드 재사용성을 높이고, 계층 구조를 설계할 수 있게 해준다. 부모 클래스(Base Class): 공통 기능을 정의하는 클래스자식 클래스(Derived Class): 부모 클래스를 상속받아 기능을 물려받거나 확장한 클래스🔹구조class 자식클래스 : 부모클래스 { // 자식 고유 멤버들}→ ':' 기호를 통해 상속 관계를 표현한다. 2. 📝예시class Animal { public void Eat() { Console.WriteLine("냠냠 먹어요"); }}class Dog : Animal { public void Bark() { ..

[C#] 프로퍼티 (Property)

1. 프로퍼티(Property)란?프로퍼티(Property) 는 필드(field)에 간접적으로 접근할 수 있도록 도와주는 일종의 메서드처럼 동작하는 멤버이다.값을 읽고(get), 설정(set) 하는 역할을 하며, 캡슐화(encapsulation) 를 구현할 때 자주 사용 2. 왜 프로퍼티를 사용할까? 외부에서 필드에 직접 접근하지 못하게 막고, 통제된 방식으로 값을 설정하거나 읽게 하기 위해유효성 검사, 로직 처리 등을 중간에 추가할 수 있기 때문 3. 기본 구조class Person { private string name; // 필드 public string Name // 프로퍼티 { get { return name; } set { name = valu..

728x90