내일배움캠프/TIL

내일배움캠프 21일차 TIL - 객체지향 특별강의 정리

서보훈 2024. 10. 15. 20:52

절차지향 - 코드간의 순서

객체지향 - 객체간의 관계

-> 비율의 차이일뿐, 절대적인것은 아님

 

Class - 문법

Instance - 메모리에 할당된 객체/클래스

Object - 단위, 개념

 

클래스 - 객체에 필요한 속성과 기능을 관리, 문법으로 표현 (붕어빵 틀)

인스턴스 - 메모리에 할당된 클래스 (붕어빵)

오브젝트 - 추상화된 개념 (단위)

 

객체는 기능을 제공한다 - 캡슐화

이때, 기능을 담은 캡슐이 클래스

 

추상화 - 공통 분모로 묶을수 있는것을 클래스로 묶는 작업

 

상속을 통해서 다양한 클래스를 만든다 - 다형성

 

상속 - 나의 클래스로 관리가 불가능한 내용을 쪼개서 구현 

자식클래스 - 부모 클래스를 상속받아 만들어진 클래스들

파생클래스 - == 자식클래스

 

캡슐화, 추상화, 상속, 다형성 - 객체지향의 특징 4가지

 

클래스간의 관계

상속관계, 의존관계, 연관관계, 실체화 관계

 

상속관계 - 부모클래스와 자식클래스

의존관계 - 외부 클래스의 함수를 사용하는것

연관관계 - 변수로 선언된 상태 (구성요소적으로 필수)

실체화 관계 - 인터페이스와 추상 클래스

 

※의존관계를 줄여주는것이 중요함

의존관계가 많을경우 의존도/결합도가 높다 라고 표현함

 

리팩토링 - 의존관계를 줄여나가는것

함수는 그 함수가 속한 클래스의 능동성을 따져야함

 

-> 슈퍼마리오 예시

    불이 데미지를 입힌다 - 불에서 데미지 함수 구현 - 피격당한 적의 기능을 (체력 등) 끌어와야함 - 의존도가 높음 

    적이 데미지를 입는다 - 적에서 데미지 함수 구현 - 피격당한 적에 함수가 있음으로 끌어올 필요성이 줄어듬

 

접근을 하기 위해 델리게이트와 GetComponent를 사용

해당 내용은 나중에