프로그래밍 공부

프로그래밍 700

카테고리 설명
  • 5.3 객체 세상에서 생각하기 프로그래머가 절차적인 패러다임에서 객체지향 패러다임으로 전환하면 프로퍼티와 행동을 조합하여 객체로 만드는 새로운 통찰력이 생기는 것을 경험할 떄가 많다. 어떤 프로그래머는 작업하던 프로그램의 디자인 단계를 다시 밟아 일부 코드를 객체로 재작성하고, 어떤 프로그래머는 모든 코드를 버리고 객체지향 방식으로 완전히 새로 시작하기도 한다. 객체를 이용해서 소프트웨어를 개발할 떄는 두 가지 접근 방법이 있다. 어떤 사람에게는 객체가 단순히 데이터와 함수를 묵어주는 좋은 툴로만 보인다. 이러한 프로그래머는 코드의 가속성과 유지보수 편의성을 높이는 목적으로 여기저기 객체를 심게 된다. 이러한 접근 방법을 사용하는 프로그래머는 마치 외과의사가 심장질환 환자에세 심박 조절기를 심듯이 독립된..

  • 전에 만들었던 HP_Bar위젯을 머리위에 띄울 것 이다. 먼저, BP_Enemy로 이동하여,Mesh에 상속되는 WIdget을 생성한다. 이 위젯 컴포넌트 에서 객체를 미리 할당하고, 제어할 것 이다. 생성 한 뒤, 디테일 창으로 이동한다. 디테일 창 에서 객체의 UserInterface를 통해 생성한 Widget 의 객체를 설정해줄 수 있다. 내부 세부사항은 위와같이 설정하여, 드로 사이즈를 정의해준다. Health_Bar 체력바의 이벤트 그래프를 정의한다. 커스텀 이벤트를 만들고, 인풋값으로 Health를 받아온 다음, 호출마다 HealthBar의 %를 바꾸어준다. 예시에서는 100 을 최대치로 정의하였지만, 전체 체력을 따로 받아와서 1을 최대치로 정의해주어도 된다. 체력값 조정 커스텀 이벤트를 정의..

  • 문제 설명 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다. 삼각형의 정보가 담긴 배열 triangle이 매개변수로 주어질 때, 거쳐간 숫자의 최댓값을 return 하도록 solution 함수를 완성하세요. 제한사항 삼각형의 높이는 1 이상 500 이하입니다. 삼각형을 이루고 있는 숫자는 0 이상 9,999 이하의 정수입니다. 입출력 예 triangle result [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 첫 시도 #inc..

  • 5.2 객체지향 철학 절차적 접근 방법에서 '이 프로그램은 무엇을 하는가?' 라는 질문을 던지는 것과는 달리, 객체지향 접근 방법에서는 '실세계의 객체를 어떻게 모델링하는가?' 라는 질문을 던진다. 객체지향 프로그래밍은 프로그램을 작업 단위로 쪼개는것 이 아니라 물리적 객체의 모델로 쪼갠다. 처음에는 이것이 너무 추상적으로 보이지만 물리적 객체를 클래스(Class), 컴포넌트(Component), 프로퍼티(Property), 행동(Behavio) 이라는 용어로 생각하면 명확해진다. 5.2.1 클래스 클래스는 단어 자체가 계층, 분류, 유형을 의미하며, 객체들을 구별한다. 예를 들어 오렌지를 생각해보자. 나무 열매 과일로서의 일반적인 오렌지를 저장하는 것과 방금 내 보드에 쏟은 주스를 지칭하는 것은 다르다..

  • 5. 객체를 이용한 디자인 객체 개념을 접목해서 더 좋은 디자인 개념을 배워보자. 단순히 객체를 이용하는 것과 객체지향 개념을 제대로 활용하는 것의 차이는 전체 프로그램 디자인에서 객체들이 어떤 관계를 갖게 만들어졌는가에 달려있다. 먼저 절차적 프로그래밍(C 언어 스타일) 에 대해 아주 간략히 알아보고, 그 다음으로 객체지향 프로그래밍(Object-Oriented Programming[OOP]) 에 대해 알아보자. 비록, 수년동안 객체를 이용해왔다고 하더라도, 객체지향 프로그램을 개발할 때 자주 부딛혔던 객체 간 관계의 서로 다른 형태를 다루어보고, 추상화 원칙이 객체 디자인에 어떻게 적용되는지도 알아보는 것이 좋은 경험을 선사할 것 이다. 객체지향 프로그래밍은 프로그램이 내부에서 어떻게 구동죄는지 생각..

  • 이제 객체에 대한 공격을 받아와서 공격시에 Collision을 작동시키고, 공격이 종료되었을 때 Collision을 종료시켜보자. 애니메이션에 사용할 수 있는 노티파이 중에 노티파이 State를 사용해야 한다. 노티파이 State는 일정 구간 내에 진입하면, Begine을 한번 실행시키고 나가면 End를 실행시킨다. 그 구간 안에 있다면 Tick을 실행시키는 노티파이이다. 생성한 NotifySate를 이용해서 객체를 제어할 것 이다. Notify에서 직접 Collision을 제어해주어도 되고, BP_Sword에서 Collison을 제어하는 이벤트를 만들어서 함수포인터 형태로 노티파이에서 호출하여 실행시켜 주어도 된다. 위와같이 생성하여 제어해주면 된다. Name은 노티파이의 이름이고, End는 실행종료시..