Contents
안뇽하세요 코밑이에염!
먼저 옛날에 강사님께 들었던 간략한 프로그래밍 언어의 역사
C → C++ → Win32API → MFC → C# (MS)
C++에서 파생 → JAVA
객체지향언어란 객체를 만들고 객체를 사용하는 프로그래밍의 방법
객체지향 언어의 종류에는 C++, C#, 파이썬, JAVA 등이 있죵
C는 절차지향언어
절차를 밟는 과정을 겪는 언어죠
객체지향언어(OOP)의 특징
- 추상화(abstraction) : 추상적인 것 → 구체적인 것으로 구체화하는 것(설계)
- 캡슐화(encapsulation) : 데이터를 보호, 은닉, 데이터를 안정적으로 쓸 수 있다(절차지향언어는 너무 오픈돼있음)
- 상속(inheritance) : 코드의 확산, 코드의 재사용성 up(빚을 상속받는다면? 무조건 상속이 좋지만은 않음 코드가 꼬이고 복잡해질 수 있다→ 유지보수 불편. 자바는 기본적으로 100% 상속)
- 다형성(polymorphism) : 편의성(접근 방법은 같지만 서로 다른 객체를 지정할 수 있다. ex)오버로딩, 오버라이딩)
이와 반대로 절차지향언어의 특징
- 메모리 할당이 자유롭다
- 처리 속도가 빠르다 - 아무래도 객체지향 언어에 비해 저수준 언어이기 때문
객체지향언어의 장점👍
- 재사용성 - 상속의 장점
- 생산성 향상
- 자연적인 모델링
- 요지보수 좋음
객체지향언어의 단점 👎
- 개발속도가 느리다
- 고수준 언어에 가깝기 때문에 실행속도가 느리다
- 어려웡
'자바' 카테고리의 다른 글
스프링 시큐리티 + jwt 토큰 (4) | 2024.11.29 |
---|---|
[자바] 오버라이딩, 오버로딩 (2) | 2024.03.28 |
[JAVA] 숫자 야구 게임 (8) | 2023.07.19 |