<목차>
1. c, c++, c#
1. c, c++, c#
- c
- 절차지향 언어
- 개체를 순차적으로 처리 --> 프로그램 전체가 유기적으로 연결
- ex) 자동차 제조: 엔진, 핸들, 의자, 바퀴 순으로 제조: 서로 분리되거나 순서가 바뀌어도 안됨 --> 절차지향 프로그밍도 이와 유사
- 장점: 컴퓨터 처리구조와 유사 --> 실행 속도고 빠름
- 단점
- 유지보수 어려움: 유기적으로 연결 --> 하나가 고장나면 전체가 고장, 특히 디버깅이 어려움
- 엄격한 순서로 인한 비효율성: 코드의 순서가 바뀌면 결과가 바뀔 가능성 높음 --> 언어의 융통성이 부족하여 생산 효율이 떨어짐
- c++
-
객체지향
- 프로그램을 다수의 객체로 만들고, 서로 상호작용 하도록 만든 프로그래밍 언어
- ex) c++, 자바, 파이썬
-
개체지향 특징
- 캡슐화
- 데이터와 데이터를 처리하는 함수를 하나로 묶는 것
- 상속
- 부모가 자식에게 유전자를 물려주듯, 상위 클래스의 모든 것을 하위 클래스가 이어 받는 것
- 다형성
- 하나의 함수가 상황에 따라 다른 의미로 응답하는 것
- ex) 동물소리 내는 클래스가 있다면 고양이를 입력한 경우 "야옹", 닭을 입력한 경우 "꼬꼬댁"으로 출력되는 것
- 추상화
- 공통의 속성이나 기능을 묶어 이름을 붙이는 것
- ex) 침팬지, 사자, 토끼, 원숭이라는 각각의 개체가 있을 때, 이 개체들을 하나의 동물이나 생물로 묶는 것을 추상화라고 함