객체지향 프로그래밍이란?

Sungmin·2023년 10월 5일
0

자바 기본 개념

목록 보기
11/21

객체지향 프로그래밍(OOP)
필요한 데이터를 추상화 시켜 상태와 행위를 가진 객체로 만들고, 그 객체들간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다.


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

  • 코드 재사용의 용이
    남이 만든 클래스를 사용할수있고 상속을 통해 확장해서 사용할 수 있다.

  • 유지보수가 쉬움
    수정해야 할 부분이 클래스 내부에 멤버 변수 혹은 메서드로 존재하기 때문에 해당 부분만 수정하면 된다.

  • 대형 프로젝트에 적합
    클래스 단위로 모듈화 시켜서 개발할 수 있으므로 여러명, 여러 회사에서 프로젝트를 개발할 때 업무 분담하기 쉽다.

객체지향 프로그래밍 단점

  • 처리 속도가 절차지향에 비해 상대적으로 느리다
  • 설계시 많은 시간과 노력이 필요하다.

객체지향 특징

추상화 - 공통의 속성이나 기능을 묶어 이름으로 붙이는 것.
캡슐화 - 기능과 특성의 모음을 "클래스" 라는 "캡슐" 에 분류해서 넣는 것.
상속 - 부모 클래스의 속성과 기능을 그대로 이어받아 사용할 수 있게하고 기능의 일부분을 변경해야 할 경우 상속받은 자식 클래스에서 해당 기능만 재 정의하여 사용할 수 있게 하는 것
다형성 - 하나의 변수명, 함수명 등이 상황에 따라 다른 의미로 해석될 수 있는 것.



클래스와 인스턴스(객체)란 무엇인지

클래스: 객체를 만들어 내기 위한 설계도

객체: 설계도로 구현한 모든 대상
(OOP의 관점에서 클래스의 타입으로 선언되었을 때 '객체' 라고 부른다.)



자바 extends, implements 상속 정리

  • extends는 일반 클래스와 abstract 클래스 상속에 사용되고, implement는 interface 상속에 사용된다.
  • class가 class를 상속받을 땐 extends를 사용하고, interface가 interface를 상속 받을 땐 extends를 사용한다.
  • class가 interface를 사용할 땐 implements를 써야하고
  • interface가 class를 사용할 땐 implements를 쓸수 없다.
  • extends는 클래스 한 개만 상속 받을 수 있다.
  • extends 자신 클래스는 부모 클래스의 기능을 사용한다.
  • implements는 여러개 사용 가능하다.
  • implements는 설계 목적으로 구현 가능하다.
  • implements한 클래스는 implements의 메서드를 반드시 오버라이딩(재정의)해야 한다.
profile
Let's Coding

0개의 댓글