OOP(객체지향) 란 - 1

OOP(객체지향) 란 - 1

💡 학습 목표
    1. 객체의 상태와 행위에 대해 알아 보자.
    2. 추상화에 대한 의미를 살펴 보자.

 

  • 객체지향 프로그래밍(Object-Oriented Programming, OOP)은 프로그래밍 패러다임 중 하나로, 실세계의 사물 또는 실제로 존재 가능한 것을 객체로 모델링하여 프로그램을 구성하는 방법.

잠깐🤚 그럼 객체(Object)란 뭘까?

각 객체는 속성(Properties) 행동(Methods) 가지며, 이들은 각각 객체의 상태와 객체가 수행할 수 있는 작업을 나타낸다.

 

객체의 속성(Properties)

속성은 객체의 특성, 상태, 데이터를 의미. 예를 들어, '자동차'라는 객체가 있다면, 이 객체의 속성은 색상, 브랜드, 모델, 연식 등이 될 수 있다.

 

객체의 행동(Methods)

행동은 객체가 수행할 수 있는 작업이나 기능을 의미한다. '자동차' 객체의 경우, 주행하기(drive), 멈추기(stop), 가속하기(accelerate) 등의 행동을 가질 수 있다.

 

객체의 특징

  • 캡슐화(Encapsulation): 객체는 자신의 데이터(속성)와 그 데이터를 조작하는 메서드를 하나의 단위로 묶어 관리한다. 이를 통해 객체의 상세한 구현 내용을 숨기고(정보 은닉), 외부에서는 객체가 제공하는 메서드를 통해서만 상호작용할 수 있게 한다.
  • 독립성: 객체는 독립적으로 존재하며, 각 객체는 고유의 속성과 메서드를 가진다. 객체 간에는 메시지를 통해 상호작용한다.

위 객체(Object) 의 속성과 행동을 추상화해보자.

컴퓨터 과학에서 추상화란?

추상화(Abstraction)는 복잡한 현실 세계를 단순화하여 모델링하는 과정에서, 필요한 부분만을 추려내고 불필요한 정보는 제거하여 복잡도를 관리할 수 있게 하는 핵심적인 개념.

프로그래밍과 소프트웨어 설계에서 추상화는 문제의 핵심적인 부분에 초점을 맞추게 해주며, 이를 통해 보다 쉽게 코드를 이해하고 유지보수할 수 있다.

은행 애플리케이션을 만들 때 고객에 대해 알아야 할 정보가 많을 수 있습니다. 이름, 주소, 휴대폰 번호 같은 기본 정보부터, 좋아하는 음식이나 취미처럼 덜 중요한 정보까지 다양하죠. 하지만 은행 업무에는 고객의 기본 정보만 필요하고, 좋아하는 음식이나 취미 같은 정보는 필요 없습니다. 이처럼 애플리케이션에 필요한 핵심 정보만 남기고 나머지는 빼는 과정을 추상화라고 합니다. 추상화를 통해 중요한 정보에 집중하면서, 은행 애플리케이션을 더 효율적으로 만들 수 있습니다.

Java 객체지향 핵심 - 2 으로 돌아가기

 

'Java > Java 객체 지향 핵심' 카테고리의 다른 글

메소드(method)와 변수 - 5  (0) 2024.04.15
함수와 만들기 {연습 문제}  (1) 2024.04.15
함수와 메서드 - 4  (0) 2024.04.15
객체에 값 할당하기 - 3  (0) 2024.04.15
클래스와 객체 - 2  (0) 2024.04.15