YangDK
개발 공부
YangDK
전체 방문자
오늘
어제
  • 개발 공부 시작 (22)
    • GitHub (2)
    • JAVA (1)
    • 시스템 프로그래밍(윈도우) (1)
    • C# (6)
    • 자바스크립트 (1)
    • 프로젝트 제작 (1)
    • 연습 프로젝트 (2)
    • HTTP (1)
    • 타입스크립트 (0)
    • 오류 해결 (0)
    • React (1)
    • 컴퓨터 구조 (1)
    • 자료구조 & 알고리즘 (1)
    • HTML (1)
    • CSS (1)
    • 프로그래머스 (1)
    • IT 기기 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자료구조
  • dashboard
  • b650m k
  • LandingPage
  • programmers
  • 빅오
  • 프로그래머스
  • 웹 개발 공부
  • 프론트엔드
  • 기가바이트
  • Front-end
  • Dev-Matching
  • landing
  • css
  • GiGABYTE
  • Big O
  • b650
  • 메인보드
  • 메인화면
  • Page

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
YangDK

개발 공부

C#

객체지향

2021. 5. 14. 15:49

절차 지향 - 객체 지향

절차 지향이란?

절차(procedure) : 여기서 절차란 절차를 걸친다는 것이 아닌, 함수를 기반으로 만들겠다는 의미이다.

작은 프로젝트를 진행할때 큰 문제는 없지만 규모가 큰 프로젝트가 진행될때 유지보수가 어렵다는 단점이 있다.

함수 기반으로 만들어졌을 경우 진행 중 일부를 수정하기 위해선 함수 자체의 일부를 바꿔야 하기 때문에

제작한 함수를 복기하고 개선해야 하는 등의 번거로움이 있다.

 

객체 지향이란

OOP(Object Oriented Programming) : 프로젝트 내의 모든 객체(플레이어, 몬스터, NPC, 무기 등)

객체는 크게 "속성"과 "기능"으로 구분이 가능하다.

1. 속성 : HP, 공격력, 좌표(position)

2. 기능 : 이동(Move), 공격(Attack) 등

 

객체를 묘사하고 싶을 때 사용하는 문법은 'class'이다.

=>

class Player    // class와 함꼐 이름을 선언한 경우에는 설계도를 작성한 것과 같다 ex) 붕어빵 틀 제작

{

     public int hp;  // public을 사용하지 않을 시 해당 class에서는 사용 가능하지만 외부 class에서는 접근이 불가능하다.

     public int attack;   // 속성

 

     public void Move() {}   // 기능

     public void Attack() {}

}

 

class Game

{

     static void Main(String[] args)

     {

          Player player = new Player();   //제작한 설계도(Player)를 따라 'player' 이름의

                                                    새로운 객체(new Player())를 만든다.

          player.hp = 10;

          player.attack = 10;

 

          player.Move();

          player.Attack();

      }

}

'C#' 카테고리의 다른 글

추상클래스, 인터페이스  (0) 2021.05.14
Generic(일반화)  (0) 2021.05.14
Dictionary  (0) 2021.05.13
다차원 배열  (0) 2021.05.13
배열  (0) 2021.05.12
    'C#' 카테고리의 다른 글
    • 추상클래스, 인터페이스
    • Generic(일반화)
    • Dictionary
    • 다차원 배열
    YangDK
    YangDK

    티스토리툴바