아무거나

객체지향 프로그래밍 본문

Java/Java

객체지향 프로그래밍

전봉근 2019. 6. 25. 15:37
반응형

객체지향 프로그래밍(Object-Oriented Programming)

- 프로그래밍을 구성하고 있는 로직을 상태와 행위로 이루어진 객체로 만드는 것이다.

ex) 레고블럭처럼 조립해서 하나의 프로그램을 만드는 것

 

기능적으로 로직들을 구분해서 사용 

[객체 ex]

 본문

  댓글 

 변수

  변수 

메소드 

 메소드

-> 다른곳에서 일종의 부폼으로써 활용된다.

 

 1. 부품화

    - 메소드는 부품화의 예라고 할 수 있으며 이 메소드들을 부품으로 해서 하나의 독립된 프로그램을 만드는 것이다.

      메소드를 사용하면 코드의 양을 줄이고, 메소드 별로 기능이 분류되어 있어서 문제 진단속도도 향상된다.

      그러나 프로그램이 엄청나게 커지면 그에 따라 메소드의 양도 비례하여 생겨나게 되므로 메소드와 변수를 관리하는 것은 점점 어려워진다.

      이것들을 연관된 메소드와 그 메소드가 사용하는 변수들을 분류하고 그룹핑하는 대상이 객체(object)이다.

      ex) 컴퓨터로 따지면 키보드, 모니터, 디스크저장장치를 분류해서 나온것들을 부품화라고 한다.

          즉, 일체형일경우 하나가 망가지면 통째로 갈아야되지만 부품화일경우 망가진 부품만 교체하면 되는 장점이 있다.

 

2. 은닉화, 캡슐화

   - 부품화라고 하는 목표는 단순히 동일한 기능을 하는 메소드와 변수를 그룹핑한다고 되는것이 아니다.

     잘 만들어진 부품이라면 그것이 어떻게 만들어졌는지 모르는 사람도 그 부품을 사용하는 방법만 알면 쓸 수 있어야 한다.

     즉, 내부의 동작방법을 단단한 케이스(객체)안으로 숨기고 사용자에게는 그 부품의 사용방법(메소드)만을 노출하고 있는 것이다.

     이런 방법을 은닉화 또는 캡슐화라고 한다.

 

3. 인터페이스

   - 부품과 부품을 서로 교환할 수 있어야한다. 즉, 이 부품들의 연결점을 인터페이스라고 한다.

     ex) 모니터와 컴퓨터를 회사상관없이 연결할 수 있게 표준화 되어있는 규격

반응형
Comments