캡슐화

[기술 질문] #9_객체 지향 프로그래밍(OOP) 객체 지향 프로그래밍에 대해 알아보겠습니다. Overview 개념 네 가지 특성 다섯 가지 원칙 #1. 개념 1. OOP?? 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 절차 지향적 시각에서 벗어나, 실세계에 존재하고 인지하는 "객체"를 소프트웨어 세계에서 표현하기 위해 객체의 핵심적인 개념과 기능만을 추출하는 추상화를 통해 모델링하려는 프로그래밍 패러다임을 의미합니다. #2. 네 가지 특성 1. 캡슐화(Encapsulation)? OOP의 캡슐화란 데이터와 코드의 형태를 외부로부터 은닉하고, 데이터의 구조와 역햘, 그리고 기능을 하나의 캡슐 형태로 만드는 방법입니다. 예를 들면, 클래스의 private 접근 제어자 활용과 Getter..
[Unreal_C++_DarkSoul]#8_문제 해결, Send Damage 방식 수정 Weapon 클래스가 Power Component를 통해 피격 대상에게 데미지 전달하는 방식을 수정합니다. 포트폴리오 진행 사항을 기록하기 위한 포스팅입니다. Overview 문제점 고찰 및 해결책 제시 결과 코드 문제점 1. Sword.cpp void ASword::OnCapsuleBeginOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult) { CheckNull(O..
[Unreal_C++_DarkSoul]#7_Magic Projectile Player의 "Wizard" 공격 모드에서 활용하는 마법 발사체 개발 내용입니다. 포트폴리오 진행 사항을 기록하기 위한 포스팅입니다. Overview 문제점 문제 해결 문제 해결 후 결과 코드 문제점 1. AMagic::SpawnMagicBall() void AMagic::SpawnMagicBall(const FName& InSocketName) { // Transform AActor* OwnerActor = GetOwner(); CheckNull(OwnerActor); APlayerCharacter* Player = Cast(OwnerActor); CheckNull(Player); FVector SpawnLocation = Pl..
[Effective C++] #21 클래스 데이터 멤버, 접근 제어, 접근 지정자 Scott Meyers의 "Effective C++"를 통해, C++ 구현에 필요한 개념들을 이해하고, 기록하기 위함입니다. 해당 항목은 4장 "설계 및 선언", 항목 22 "데이터 멤버가 선언될 곳은 private 영역임을 명심하자"에 해당하는 내용입니다. 접근 제어 (public, protected, private) C++의 멤버 접근 제어 관련하여, public, protected, 그리고 private 영역에 대해 먼저 알아보겠습니다. 접근 제어 개념은 C++의 세 가지 중요 요소 중 "캡슐화"와 관련이 있습니다. C++의 "캡슐화"는 객체지향적 측면에서 두 가지를 생각해 볼 수 있습니다. 하나는 객체의 상태(데이터..
Hardii2
'캡슐화' 태그의 글 목록