반응형
1. 절차지향 프로그래밍 (Proceduer Programming)
Top-Down 방식으로 접근하며 순차적인 처리가 중요시 되어 프로그램이 전체적으로 연결되도록 만드는 기법
대표적인 절차지향 언어는 C.
함수로부터 데이터를 받아 기능을 구현한다.
코드의 가독성이 좋고, 실행속도가 빠르지만 유지보수 및 디버깅이 어렵다.
2. 객체지향 프로그래밍 (Object Oriented Programming)
Bottom-Up 방식으로 접근.
데이터와 절차를 하나의 덩어리(Object)로 묶어서 처리
모듈화 및 캡슐화로 유지보수에 용이하며, 코드의 재사용성이 높다.
처리속도가 느리고, 많은 양의 메모리를 사용한다는 단점이 있다.
추상화
객체들을 공통적인 특징들을 묶는다.
예시) 사자, 토끼, 뱀 각각을 객체라고 하며 하나로 묶으려고 할 때 동물 또는 생물로 묶을 수 있다.
캡슐화
데이터와 함수를 하나로 묶은 것
객체의 역할을 수행하기 위해 필요한 기능들을 묶는다.
은닉화라고도 하며 외부에서 직접 접근할 수 없고 함수를 통해서 접근하게 한다.
상속성
이미 정의된 상위 클래스의 모든 속성과 연산을 물려받는 것
상위 클래스의 기능을 받고 하위의 자체 기능을 추가할 수 있다.
다형성
한 객체가 다른 형태의 객체로 재구성 되는 것.
오버로딩과 오버라이딩이 있다.
오버로딩(과부하) : 함수의 형태와 이름은 동일하나 매개변수를 변화시켜 다양하게 활용
오버라이딩(무시하다) : 부모클래스의 함수를 다른 기능으로 정의하거나 기존 기능에 추가시키는 것.
댓글