[1Day-1CS] 명령형 프로그래밍 & 객체 지향 프로그래밍

명령형 프로그래밍의 종류
객체지향 프로그래밍 (Object-Oriented Programming)
- 객체들의 집합으로 프로그램의 상호작용을 표현하며 객체 내부에 선언된 메서드를 활용하는 방식
- 설계에 많은 시간이 소요, 속도가 다른 프로그래밍 패러다임 대비 느린 편
객체지향 프로그래밍의 특징
- 추상화: 복잡한 시스템으로부터 핵심적인 개념, 기능을 간추려내는 것
- 캡슐화: 객체의 속성과 메서드를 하나로 묶고 일부를 외부로부터 은닉
- 상속성: 상위 클래스의 특성을 하위 클래스가 이어받아서 재사용, 추가, 확장이 가능
- 다형성: 하나의 메서드나 클래스가 다양한 방법으로 동작 가능
- Overloading: 같은 이름을 가진 메서드를 여러 개 두는 것, '컴파일' 중 발생하는 '정적' 다형성
- Overriding: 상위 클래스로부터 상속받은 메서드를 하위 클래스가 재정의, '런타임' 중 발생하는 '동적' 다형성