hayu's 개발 일지

99클럽 코테 스터디 16일차 TIL + 면접(JAVA, CS 공부)준비 본문

IT 개념 정리 & ETC

99클럽 코테 스터디 16일차 TIL + 면접(JAVA, CS 공부)준비

hayu00 2024. 6. 5. 21:20

학습 키워드

- 면접(JAVA, CS 공부)준비

 

공부한 내용

Call by reference란 무엇이고 보통 어떻게 쓰이나요?

→ Call by reference는 참조에 의한 호출을 말합니다. 전달받은 값을 변경할 경우 원본도 같이 변경됩니다. java 에서는 Call by value 로만 동작합니다. 자바에서 매개변수를 넘기는 과정에서 직접적인 참조를 넘기는게 아닌 주소값을 복사해서 넘기는 call by value로 작동합니다. 복사된 주소값으로 참조가 가능하기 때문에 주소값이 가리키는 객체의 내용 변경이 되는 것입니다.

 

JVM의 스택과 힙메모리 영역에 대해 아는 만큼 설명해주실 수 있을까요?

→ 스택 메모리는 임시 정보를 저장하는 공간입니다. 각 함수가 호출될 때마다 약간의 공간을 차지하며, 함수가 종료되면 해당 공간이 사라집니다. 즉, 각 스레드에 메모리가 할당됩니다. 힙 메모리는 장기간 정보를 저장하는 공간입니다. 프로그램이 실행되는 동안 동적으로 생성된 데이터가 저장되고 유지됩니다. 모든 객체 유형 데이터는 힙 영역에 할당됩니다.

 

mvc 패턴에 대해서 설명해주세요.

→ MVC는 Model-View-Controller의 약자로, 소프트웨어 디자인 패턴 중 하나입니다. MVC 패턴은 소프트웨어를 모델, 뷰, 컨트롤러라는 세 가지 구조로 나누어 개발하는 방법으로 코드의 모듈화를 통해 유지보수를 편리하게 하는데 목적이 있습니다. 모델(Model)은 애플리케이션의 데이터와 비즈니스 로직을 담당합니다. 데이터의 상태를 관리하고, 상태가 변경될 때 알림을 통해 뷰 및 컨트롤러에 변경을 알려주는 데이터 베이스와 가장 가까운 영역이다. 뷰(View)는 사용자에게 데이터를 시각적으로 표현하고 사용자 입력을 받는 부분입니다. 모델의 데이터를 표시하고, 사용자가 입력한 정보를 컨트롤러로 전달하는 클라이언트와 가장 가까운 영역입니다. 컨트롤러(controller)는 사용자의 입력을 받아 모델 또는 뷰에 전달하고, 각 요소 간의 상호 작용을 관리합니다. 모델의 데이터가 변경되었을 때, 이를 감지하고 뷰에 알리는 역할을 수행한다. 모델과 뷰를 연결시켜주는 중간 역할을 합니다.

 

회고

발생한 문제

- 자바에 대한 공부를 진행하면서 면접관련 질문에 맞는 답을 함께 공부해보았다. 

 

해결 방법

- 질문에 맞는 개념을 공부하고 정리하여 답변을 준비했다.