06/02_Java

정희운·2023년 6월 2일
0

OOP 객체 지향 프로그래밍

패러다임(Paradigm) = 관점

절차지향

한줄 한줄
순서대로 코드로 옮긴 것을 절차지향 프로그래밍이라 한다

  • 다른 사람이 봤을때 이해하기 어렵고 직관적이지 않은 문제가 있음

객체지향

부분부분 만들고 합쳐서 결과물을 만드는 형태


Class

하나의 클래스로 서로 다른 객체를 생성할 수 있다.


Object


추상화 (Abstract)

  • 객체에서 공통된 속성과 행위를 추출
  • 상세한 정보는 무시하고 필요한 정보들만 간추려서 구성
  • 코드 상에서 구현(로직) 부분을 제외한 오직 선언 부분만을 설계

캡슐화 (Encapsulation)

  • 내부의 정보를 확인하지 못하게 보호하는 용도도 있음

상속 (inheritance)

  • 이미 작성된 클래스(상위클래스)의 특성을 그대로 이어받아 새로운 클래스(하위클래스)를 생성하는 기법
  • 기존 코드를 그대로 재사용하거나 재정의
    재정의 + 확장

다형성 (polymorphism)

  • 사전적 의미 다양한 형태로 나타날 수 있는 능력
  • 같은 기능(메소드)를 호출하더라도 객체에 따라 다르게 동작
  • 상위클래스의 동작을 하위클래스에서 다시 정의하여 사용하는 것 또한 다형성으로 볼 수 있다

객체지향 프로그래밍의 장점

  • 신뢰성 있는 소프트웨어를 쉽게 작성
  • 코드 재사용 쉬움
  • 유지보수 용이
  • 직관적 코드 분석 가능
  • 소프트웨어 생산성 향상

복기

  • 클래스
    나만의 자료형을 만들기 위한 설계도

1.field
2.method

  • 객체
    설계도를 바탕으로 실제로 만들어진 데이터

-추상화
Abstract
-캡슐화
Encapsulation
-상속
inheritance
-다형성
polymorphism

0개의 댓글