상속5 2024.05.16 TIL - 객체지향프로그래밍 특강 정리 객체지향프로그래밍의 응집도와 결합도위의 그림은 클래스간의 관계를 나타낸다.Cinema가 다른 클래스와 연관이 많이 되어있다.이것을 다른 클래스 사이에 '의존도/결합도가 높다' 라고 말한다. 그림으로 쉽게 이해해보자면 위와 같다.`결합도`가 낮을수록 좋다. `응집도`는 객체 또는 클래스에 얼마나 관련 높은 책임들을 할당했는지를 나타낸다.실제 생활에서도 본인이 맡은 바를 수행하며 능률을 높여 일의 효율이 증가하는 좋은 효과를 얻을 수 있다. 결론 : 객체지향 프로그래밍은 객체의 자율성을 높이기 위해 의존도/결합도를 낮추고, 응집도를 높인다. 그렇다면 `응집도`는 어떻게 높일까?1. 연관이 없는 작업은 다른 객체(클래스)에게 위임한다.2. 객체 내부의 상태를 `캡슐화` 하고 오직 메세지를 통해서만 상호작용한다.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 5. 16. 2024.05.03 TIL - 클래스 명시적 형변환, 포인터 public void CheckQuestCompletion(Character character, Quest quest){ // 코드 생략 ((ManaPotionQuest)quest).ClearMonsterCount(); // 코드 생략}Quest 클래스가 베이스고, 자식 클래스가 여러개 있었다.그래서 Quest 클래스형으로 불러오게 됐는데, 자식 클래스인 ManaPotionQuest에 있는 메소드를 불러오고 싶었다.`quest`를 명시적 형변환으로해서 불러올 수 있을 것 같아서 해봤다. 처음에는 `(ManaPotionQuest)quest.ClearMonsterCount()` 으로 해봤는데 안됐다.그런데 `((ManaPotionQuest)quest)` 이렇게 한 번 더 감싸니까 성공했다. 이걸보고 C언어.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 5. 3. 2024.05.02 TIL - 추상화 클래스(abstract), 인터페이스(interface), 상속, static, 싱글톤 public abstract class Scene { public abstract void loadScene(UI ui, Character character); }원래는 `Scene` 베이스 클래스를 `추상화 클래스(abstract)`로 선언했었다. 이후 씬 이동을 구현할 때 각 씬 클래스들을 불러오기 위해 `static` 선언이 필요했다.하지만 추상화 클래스는 static 선언을 할 수 없다!... public class SceneManager { //싱글톤 생성 public static SceneManager Instance; public Scene _introScene; public Scene _startScene.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 5. 2. 2024.04.24 TIL - Item 클래스의 상속, 인터페이스, 다중 상속 Item 을 인터페이스로 만들었을 때 문제점// 아이템을 사용할 수 있는 인터페이스public interface IUsable{ void Use();}// 아이템 클래스public class Item : IUsable{ public string Name { get; set; } public void Use() { Console.WriteLine("아이템 {0}을 사용했습니다.", Name); }}강의에서 위와 같이 아이템을 인터페이스로 사용하는 예시를 보고 개인 프로젝트에도 적용해봤다. 그런데 점점 거대해져가는 클래스..!(눈갱 주의) ▼더보기// 아이템 인터페이스 public class IItem { .. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 4. 24. [C#] OOP에 대해서 객체 지향 프로그래밍 C# 은 객체 지향 프로그래밍 (Object Oriented Programming, OOP) 언어입니다. 객체라 하면 좀 어려워 보이는데 모든 것이 다 객체 입니다. 컴퓨터, 노트북, 스마트폰 등 물건들도 객체이며 여러분, 친구들, 가족 등 사람들도 객체입니다. 캐릭터 상점 건물 직업 아이템 … 그리고 객체 지향 프로그래밍이란 이렇게 만들어진 객체들을 유기적으로 연결해서 개발해 나가는 방식입니다. 객체 지향 특징 보통 객체 지향의 특징으로 4가지의 중요한 특징이입니다. 캡슐화 데이터와 코드를 외부에서 알 수 없게 감추는 것 외부에서는 필요한 정보만 알면 된다. 추상화 객체들의 공통적인 특징은 추려내는 것 상속 하위 클래스가 상위 클래스의 모든 것을 활용가능 클래스를 재사용하여 반복적.. C#/클래스와 객체 2024. 3. 27. 이전 1 다음 반응형