객체 지향 프로그래밍

상현·2023년 1월 15일
0

cs스터디

목록 보기
2/28
post-thumbnail

정의

  • 컴퓨터 프로그램을 여러개의 독립된 단위들의 모임으로 파악하고자 하는 것



요소

추상화

  • 공통의 속성이나 기능을 묶어 이름을 붙임
  • 클래스를 정의하는 것

캡슐화

  • 변수와 함수를 하나의 단위(ex: class)로 묶는 것

상속

  • 자식 클래스가 부모 클래스의 특성과 기능을 그대로 물려받는 것
  • 캡슐화를 유지하는 상태로 클래스의 재사용이 가능하게 해줌

다형성

  • 하나의 클래스나 메소드가 다양한 방식으로 동작이 가능한 것
  • 오버라이딩
    • 부모 클래스에서 상속받은 메서드를 재정의하는 것
    • 메서드의 선언부는 부모의 것과 완전히 일치해야 함

  • 오버로딩
    • 한 클래스 내에서 같은 이름의 메서드를 여러개 정의하는 것
    • 메서드의 이름이 같으면서, 매개변수의 개수 또는 타입이 달라야 함
    • 리턴타입만 다르면 안됨



특징

장점

  • 유지보수가 쉽고 재사용이 가능함
  • 대형 프로젝트에 적합

단점

  • 처리속도가 느림
  • 설계하기 어려움

0개의 댓글