[Java 09] 자바 - 객체지향프로그래밍

학습목표

  1. 객체지향프로그래밍의 특징을 알고 있다.
  2. 객체란 무엇인지 설명할 수 있다.

객체지향프로그래밍(OOP : Object-Oriented-Programming)이란?

객체지향프로그래밍은 좀 더 나은 프로그램을 만들기 위한 프로그래밍 패러다임으로 로직을 속성(attribute)과 동작(behave)으로 이루어진 객체로 만드는 것입니다. 이러한 객체지향프로그래밍의 장점은 크게 3가지입니다.

  • 프로그램을 유연하고 변경이 용이하게 만들어준다.
  • 프로그램 개발과 보수를 간편하게 만들어준다.
  • 코드를 직관적으로 분석할 수 있게 해준다.

객체란?

앞서 말한 것처럼 객체는 속성과 동작으로 구성되어 있습니다. 예를 들어 자동차는 색상, 속도 등의 속성과 달린다, 멈춤다와 같은 동작이 있습니다. 자바는 이 속성과 동작들을 각각 필드(field)와 메소드(method)라고 부릅니다.

객체설명

각각의 객체들은 독립적으로 존재하고, 다른 객체와 서로 상호작용하며 동작합니다. 객체들 사이의 상호작용 수단은 메소드이며 다른 객체의 기능을 이용하는 것이 메소드 호출입니다.

메소드 호출은 객체에 도트(.) 연산자를 붙이고 메소드 이름을 기술하면 됩니다. 도트 연산자는 객체의 필드와 메소드에 접근할 때 사용합니다.

리턴값 = 객체.메소드(매개값1, 매개값2, ...)

객체지향 프로그래밍의 특징

  1. 캡슐화(Encapsulation) 캡슐화란 객체의 필드, 메소드를 하나로 묶고, 실제 구현 내용을 감추는 것을 말합니다. 외부 객체는 객체 내부의 구조를 알지 못하면 객체가 노출해서 제공하는 필드와 메소드만 이용이 가능합니다. 즉, 내부의 동작방법은 객체 안으로 숨기고 사용자에게는 객체의 사용방법만 노출하고 있는 것입니다.

  2. 상속(Inheritance) 상속은 상위 객체(부모)가 자기가 가지고 있는 필드와 메소드를 하위 개체(자식)에게 물려주어 하위 객체가 사용할 수 있도록 하는 것입니다. 상속을 통해 상위 객체를 재사용해서 하위 객체를 쉽고 빠르게 설계할 수 있도록 돕고, 이미 잘 개발된 객체를 재사용해서 새로운 객체를 만들기 때문에 반복된 코드 중복을 줄여줍니다.

  3. 다형성(Polymorphism) 다형성은 같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 성징을 말합니다. 하나의 타입에 여러 객체를 대입함으로써 다양한 기능을 이용할 수 있도록 해줍니다.

아직 작성중…

태그:

카테고리:

업데이트:

댓글남기기