객체지향 언어는 소프트웨어 개발 방법론 중 하나로, 프로그램을 독립적인 객체들의 집합으로 모델링하고 이들 객체들의 상호작용을 통해 프로그램을 구현하는 방식을 의미한다.
객체지향 언어 특징으로는
1. 상속
2. 다형성
3. 캡슐화
등의 개념이 있다.
이와 다르게 절차지향 프로그래밍은 일련의 절차 또는 순서에 따라 프로그램을 작성하는 방식인데 프로시저(함수 또는 서브루틴)를 중심으로 프로그램이 실행되며, 데이터와 기능이 분리되어 있다.
*객체지향 장점
1. 모듈화와 재사용성: 객체지향 언어는 객체 단위로 모듈화되어 있기 때문에 코드의 재사용성이 높다. 객체들은 독립적으로 개발하고 테스트할 수 있으며, 필요에 따라 다른 프로그램에서도 재사용할 수 있다.
2. 유지보수성: 객체지향 언어는 캡슐화와 상속을 통해 코드의 유지보수가 용이하다. 변경이 필요한 경우 해당 객체만 수정하면 되기 때문에 다른 부분에 영향을 주지 않는다. 또한, 상속을 통해 기존 클래스를 확장하여 새로운 기능을 추가할 수 있다.
3. 코드 가독성: 객체지향 언어는 현실 세계의 개념을 모델링하기 때문에 코드의 가독성이 높다. 객체와 객체 간의 상호작용을 표현하는 코드는 자연어에 가까운 형태로 작성될 수 있다.
이에 반해 단점으로는,
1. 실행 속도: 객체지향 언어는 절차지향 언어보다 실행 속도가 느릴 수 있다. 객체 지향 언어는 가상 함수 호출 등의 발생할 수 있으며, 이는 실행 시간에 영향을 줄 수 있다.
2. 메모리 사용량: 객체지향 언어는 절차지향 언어보다 메모리를 더 많이 사용할 수 있습니다. 객체들 간의 상호작용과 데이터의 캡슐화를 위해 추가적인 메모리가 필요하기 때문이다.
결국, 객체지향 언어는 유지보수성과 재사용성 등의 장점을 가지고 있지만, 학습 곡선이 높고 실행 속도와 메모리 사용량에 약간의 부담이 있을 수 있다.
'TIL(Today I Learned)' 카테고리의 다른 글
[20230615 TIL] 쿠키와 세션 (0) | 2023.06.15 |
---|---|
[TIL 20230614] JVM (0) | 2023.06.14 |
[TIL 20230608] JAVA 장단점 (0) | 2023.06.08 |
[TIL 20230607] 컴파일 과정 (0) | 2023.06.07 |
[TIL_20230531] WEB 서버 vs WAS vs DB서버 (0) | 2023.05.31 |