Java 객체지향 프로그래밍

song yuheon·2023년 8월 27일
0

Java

목록 보기
7/46
post-thumbnail

1. 객체란?

  • 객체는 현실 세계에 존재하는 모든 물체나 개념을 소프트웨어 세계로 표현한 것이다. 객체는 그 자체로 하나의 역할을 수행하며, 상태와 행동을 가진다.

2. 객체의 구성

  • 속성(필드): 객체의 상태나 특징을 표현한다. 예: 사람의 이름, 나이, 키 등
  • 행위(메서드): 객체가 할 수 있는 작업이나 기능을 표현한다. 예: 사람이 걷다, 뛰다, 먹다 등

3. 객체 간의 상호작용

  • 객체들은 메서드를 호출하는 방식으로 서로 상호작용한다. 이를 통해 데이터나 명령을 주고받는다.

4. 객체 간의 관계

  • 사용 관계: 한 객체가 다른 객체의 기능을 사용하는 관계
  • 포함 관계: 한 객체가 다른 객체를 포함하는 관계, 예: 자동차 객체 안에 엔진 객체
  • 상속 관계: 한 객체가 다른 객체의 특성을 물려받는 관계

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

  1. 캡슐화: 내부 구현을 감추고, 사용자에게는 필요한 정보와 기능만을 제공한다. 데이터의 보호 및 외부의 무분별한 접근 제한의 목적이다.
  2. 상속: 기존 클래스의 특성을 재사용하면서 확장하여 새로운 클래스를 정의하는 것. 코드 재사용성을 높이며, 계층구조를 통한 구조화가 가능하다.
  3. 다형성: 하나의 인터페이스나 클래스가 여러 형태로 동작하는 것. 메서드 오버로딩, 오버라이딩을 통해 구현되며, 유연한 코드 작성이 가능하다.
  4. 추상화: 복잡한 현실 세계의 객체를 소프트웨어 세계에서 필요한 특징만을 가진 단순화된 객체로 변환하는 것. 예: 동물이라는 추상적 개념 아래 개나 고양이 같은 구체적인 객체를 묶는 것.

6. 객체와 클래스

  • 클래스: 객체를 생성하기 위한 템플릿 혹은 설계도. 객체의 공통된 속성과 행위를 정의한다.
  • 인스턴스: 클래스를 통해 실체화된 객체. 클래스에 정의된 속성과 행위를 가진 실체.
  • 인스턴스화: 클래스를 사용하여 새로운 인스턴스(객체)를 생성하는 과정.

profile
backend_Devloper

0개의 댓글