백엔드 멘토링

2023/03/26 - 객체지향 개념 및 UML,CBD,SOA

piedra_de_flor 2023. 4. 7. 14:48

- 객체 지향 프로그래밍 언어에 대해 어떻게 생각하나?

: 객체 지향 프로그래밍 언어란 객체를 생성하고 객체를 사용하는 프로그래밍 언어입니다.

이전의 프로그래밍 언어들 보다 더 기계가 아닌 현실세계 즉 인간에 초점을 맞추어 개발자들의 사고방식을 프로그래밍에 접목시켜 개발을 더욱 쉽게 만들어 주었다고 생각합니다.

또한 객체지향 프로그래밍을 하면 더 유연하고 코드의 재사용을 극대화 시킬 수 있다는 장점또한 있습니다.

 

 

 

- 객체지향에서 객체는 무슨 기준으로 나누나?

: 먼저 객체지향에서의 객체는 책임을 기준으로 나누어지고, 한 객체는 하나의 책임을 가지게 됩니다. 하지만 개발자가 인지하고 사고하는 방식에 따라 책임의 기준이 달라지므로 정확한 기준점은 없다고 생각합니다.

 

 

 

 

- 자바 언어에서는 객체 지향 프로그래밍을 어떻게 지원하나요?

: 객체 지향은 4가지 특성을 지니고 있다. 캡슐화, 상속, 다형성, 추상화인데, 자바에서는 이 4가지 특성을 모두 지원한다.

 

상속 클래스의 상속을 통해 클래스의 확장을 지원한다.
캡슐화  자바는 캡슐화를 통해 객체의 내부 상태를 보호합니다. 객체는 클래스 외부에서 직접 접근할 수 없으며, 메서드를 통해만 접근할 수 있다.
추상화 자바는 추상 클래스와 인터페이스를 통해 추상화 개념을 지원합니다
다형성 자바는 다형성을 허용합니다. 즉, 서로 다른 클래스의 객체를 동일한 인터페이스에 할당할 수 있습니다.

 

 

 

 

- UML, CBD, SOA이란 무엇인가?

:

UML(Unified Modeling Language) 객체지향 프로그래밍에서 사용되는 모델링 언어로, 시스템 구성요소, 사용자 인터페이스, 동작 등을 그래프로 표현하여 시각화하고 이해하기 쉽게 만드는 것을 목적으로 한다.
CBD(Component-based Development) CBD는 애플리케이션을 통짜로 개발하지 말고, 애플리케이션을 의미 있는 단위로 구분하고 그 단위를 하나 하나씩 부품으로 개발해 마치 레고 블록을 쌓아 올리듯 부품을 결합해 소프트웨어 제품을 완성하자는 방법론이자 기법이다.
SOA(Service Oriented Architecture) SOA는 개발자 입장에서의 개발이 아니라 실제 현실의 업무를 기준으로 개발하자는 사상이다.