mark340
착하게살자
mark340
전체 방문자
오늘
어제
  • 분류 전체보기 (98)
    • 백준 (11)
    • 알고리즘 (1)
    • Javascript (17)
    • CS (18)
    • 기타 (9)
    • AI (1)
    • Angular (2)
    • Linux (14)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • oauth
  • Closure
  • MySQL
  • JavaScript
  • parsing

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
mark340

착하게살자

CS

[CS] OOP의 특징 (추상화/캡슐화/상속/다형성)

2023. 1. 28. 11:40

OOP

  • 객체지향 프로그래밍
  • 기본의 만들었던 내용을 재사용할 수 있다는 장점이 있다.
  • 프로그램을 독립된 단위인 객체들의 모임으로 보고 각각 객체는 메시지를 주고 받고 데이터를 처리함.

 

추상화(Abstraction)

  • 어떤 실체로부터 공통적인 부분이나 관심 있는 특성들만 한곳에 모은 것
  • 구현 세부사항 대신 기능 측면에서 클래스의 모델링을 목적으로 한다.
  • 인터페이스와 구현을 분리한다.

 

캡슐화(encapsulation)

  • 데이터 보호
  • 비슷한 역할을 하는 속성과 메소드들을 하나의 클래스로 모아, 접근 지정자를 통해 제어하는 것
  • 은닉화 : 객체의 세부 내용이 외부에 드러나지 않아 외부에서 데이터를 직접 접근하는 것을 방지한다. 캡슐 내부의 로직이나 변수들을 감추고 외부에는 기능(api)만을 제공하는것

 

상속(inherutance)

  • 코드 재사용
  • 자식클래스가 부모클래스의 특징과 기능을 물려받는 것
  • 클래스를 상속 받아 수정하여 사용하기 때문에 중복 코드를 줄일 수 있다.
  • 부모클래스의 수정으로 모든 자식클래스들도 수정되는 효과

 

다형성(polymorphism)

  • 객체 변경 용이
  • 어떤 변수, 메소드가 상황에 따라 다른 결과를 내는 것
  • 오버라이딩(overriding) : 부모클래스 메서드를 자식클래스에서 재정의하는 것
  • 오버로딩(overloading) : 한 클래스에서 메소드 이름은 같지만 파라미터 개수나 자료형을 다르게 하여 서로 다르게 동작하게 하는 것

 

 

저작자표시 (새창열림)

'CS' 카테고리의 다른 글

[CS] 프록시(Proxy)란  (0) 2023.02.23
[CS] 트랜젝션  (0) 2023.01.28
[CS] OSI 7 계층  (0) 2023.01.28
[CS] 해시(Hash)와 해시 충돌 해결 방법  (0) 2023.01.28
[CS] 프로세스와 스레드  (0) 2023.01.26
    'CS' 카테고리의 다른 글
    • [CS] 프록시(Proxy)란
    • [CS] 트랜젝션
    • [CS] OSI 7 계층
    • [CS] 해시(Hash)와 해시 충돌 해결 방법
    mark340
    mark340
    착하게삽시다

    티스토리툴바