2020/08/05 - [👩🏻💻Technical Interview/Questions] - [ JAVA 개념정리 ] Part 1 (자바란? ~ 메모리관리) 기술면접 필수 질문!(라지만, 난 받아본 적이 없지...그래도 정리!) 1. 객체지향프로그래밍에 대해 설명해주세요. 객체지향프로그래밍(Object Oriented Programming) 이란, 이름 뜻 그대로 객체를 기준으로 코드를 작성하여 구현하는 프로그래밍 입니다. 예를들어, 한 제품을 만들고자 할 때, 그 제품에 해당되는 부품들을 각각 만들고, 그 부품들을 재 조립하여 하나의 제품으로 만들듯이 객체지향프로그래밍 또한 부품에 맞는 객체들을 만들고, 객체 서로간의 의존관계를 생성하여 구현하고 실행하는 프로그래밍 기법 입니다. 1-1. 객체지향 프로그..
애증의 자바.. 정리 시작! 1. 자바에 대해서 간단하게 설명해주세요! 자바는 미국의 썬 마이크로시스템즈에서 개발한 객체지향 프로그래밍 언어 입니다. 운영체제에 독립적이고, 메모리를 자동으로 관리해주며, 오픈소스가 다양하고, 멀티스레드를 지원한다는 장점이 있습니다. 1-1. 운영체제에 독립적인 이유는 무엇인가요? 자바에는 JVM이라는 Java Virtual Machine 이 존재하기 때문입니다. Java complier로 인해 개발자가 작성한 코드가 byte코드(중간코드)로 해석해 주는데, 이 코드를 기계어로 해석하여 실행할 수 있도록 하는 역할을 수행합니다. 이 JVM은 운영체제마다 각각 존재하기 때문에, 운영체제가 서로 달라도 같은 실행결과를 도출하게 됩니다. 그러므로, 운영체제가 독립적이라는 장점을..
> [ 정의 ] 사전적의 의미로는 데이터의 집합을 의미하며, 데이터의 처리를 조금 더 효율적으로 수행할 수 있도록 한 구조 입니다. [ 목적 ] 데이터를 효율적으로 저장하고 관리하고 처리할 수 있으며, 메모리 용량을 절약할 수 있습니다. [ 분류 ] 크게 선형 자료구조와 비선형 자료구조로 나뉩니다. 선형 자료구조는 데이터가 일렬로 나열된 구조 이며, 비선형 자료구조는 어떤 특정한 형태를 띄고 있는 구조 입니다. [Array (배열)] 여러 데이터들을 하나의 이름으로 그룹핑하여 관리할 수 있는 자료구조 입니다. index를 통해 데이터에 접근할 수 있습니다. 정적으로 저장 공간이 정해지기 때문에, 만약 데이터가 저장 공간을 초과할 경우 새로 배열을 재 할당 하고 데이터들을 복사해야 합니다. Array Li..
🤷♂️ Push / Pull / Fetch 리모트 서버에 있는 파일을 내 컴퓨터로 복붙한 다음 수정해서 다시 리모트 서버로 업데이트한다는 것. 이때 사용자가 자신이 변경한 로컬의 소스를 서버의 소스에 업로드하는, 즉 서버로 밀어올리는 행위를 Push라고 부르고 사용자가 서버의 소스를 자신의 클라이언트로 가져오는 행위를 Pull 또는 Fetch라고 한다. 🤷♂️ Remote / Origin 우선 Remote는 말 그대로 리모트 서버 자체를 의미한다. 이 리모트 서버라는 개념이 잘 이해가 안되시는 분은 우리가 자주 사용하는 구글 드라이브나 N드라이브와 같은 클라우드 스토리지를 사용하는 것을 떠올리시면 된다. 전 세계 어딘가에 있는 서버에 우리의 소스를 저장하는 것이다. 이때 이 서버를 제공해주는 대표적인..