- 객체 지향 프로그래밍 언어에 대해 어떻게 생각하나?
: 객체 지향 프로그래밍 언어란 객체를 생성하고 객체를 사용하는 프로그래밍 언어입니다.
이전의 프로그래밍 언어들 보다 더 기계가 아닌 현실세계 즉 인간에 초점을 맞추어 개발자들의 사고방식을 프로그래밍에 접목시켜 개발을 더욱 쉽게 만들어 주었다고 생각합니다.
또한 객체지향 프로그래밍을 하면 더 유연하고 코드의 재사용을 극대화 시킬 수 있다는 장점또한 있습니다.
- 객체지향에서 객체는 무슨 기준으로 나누나?
: 먼저 객체지향에서의 객체는 책임을 기준으로 나누어지고, 한 객체는 하나의 책임을 가지게 됩니다. 하지만 개발자가 인지하고 사고하는 방식에 따라 책임의 기준이 달라지므로 정확한 기준점은 없다고 생각합니다.
- 자바 언어에서는 객체 지향 프로그래밍을 어떻게 지원하나요?
: 객체 지향은 4가지 특성을 지니고 있다. 캡슐화, 상속, 다형성, 추상화인데, 자바에서는 이 4가지 특성을 모두 지원한다.
상속 | 클래스의 상속을 통해 클래스의 확장을 지원한다. |
캡슐화 | 자바는 캡슐화를 통해 객체의 내부 상태를 보호합니다. 객체는 클래스 외부에서 직접 접근할 수 없으며, 메서드를 통해만 접근할 수 있다. |
추상화 | 자바는 추상 클래스와 인터페이스를 통해 추상화 개념을 지원합니다 |
다형성 | 자바는 다형성을 허용합니다. 즉, 서로 다른 클래스의 객체를 동일한 인터페이스에 할당할 수 있습니다. |
- UML, CBD, SOA이란 무엇인가?
:
UML(Unified Modeling Language) | 객체지향 프로그래밍에서 사용되는 모델링 언어로, 시스템 구성요소, 사용자 인터페이스, 동작 등을 그래프로 표현하여 시각화하고 이해하기 쉽게 만드는 것을 목적으로 한다. |
CBD(Component-based Development) | CBD는 애플리케이션을 통짜로 개발하지 말고, 애플리케이션을 의미 있는 단위로 구분하고 그 단위를 하나 하나씩 부품으로 개발해 마치 레고 블록을 쌓아 올리듯 부품을 결합해 소프트웨어 제품을 완성하자는 방법론이자 기법이다. |
SOA(Service Oriented Architecture) | SOA는 개발자 입장에서의 개발이 아니라 실제 현실의 업무를 기준으로 개발하자는 사상이다. |
'백엔드 멘토링' 카테고리의 다른 글
2023/04/10 - Spring 공부중 관련 질문들 [1] (0) | 2023.04.13 |
---|---|
2023/04/05 - java 11, 17 특징 (0) | 2023.04.07 |
2023/03/17 - 서블릿, CGI, JSP, MVC패턴 (0) | 2023.03.28 |
OSI 7계층 및 TCP/IP 4계층 정리 (0) | 2023.02.26 |
2023.02.03 - java 8 의 optional은 무조건 사용하는게 좋을까?? (0) | 2023.02.03 |