자바문제
-
주니어 개발자를 위한 100가지 질문(답변 포함) - 9언어/JSP 2023. 11. 2. 12:44
9️⃣ Spring 📌 스프링 사용의 장점은 무엇인가요? Inversion of Control(IoC)와 Dependency Injection(DI)을 통해 객체 간의 결합도를 낮추고, 유연하고 확장 가능한 소프트웨어를 개발할 수 있습니다. Aspect-Oriented Programming(AOP)을 지원하여 코드의 재사용성과 모듈성을 향상시킵니다. 트랜잭션 관리, 보안, 로깅 등 엔터프라이즈 애플리케이션 개발에 필요한 다양한 서비스를 제공합니다. 오픈 소스 프레임워크로서 비용 절감 효과가 있습니다. 📌 AOP란 무엇인가요? AOP(Aspect-Oriented Programming)는 관점 지향 프로그래밍이라고도 하며, 프로그램 로직을 관점(Aspect)으로 분리하여 모듈화하는 프로그래밍 패러다임입니다...
-
주니어 개발자를 위한 100가지 질문(답변 포함) - 7언어/JSP 2023. 10. 31. 19:52
7️⃣ 예외 클래스 📌 throw와 throws의 차이는 무엇인가요? 'throw'와 'throws'는 자바에서 예외를 처리하는 데 사용되는 키워드입니다. 'throw' 키워드는 프로그램에서 특정 조건에서 예외를 발생시키는 데 사용됩니다. 반면에 'throws' 키워드는 메소드 선언 부분에 사용되어 해당 메소드가 특정 예외를 발생시킬 수 있음을 명시하는 데 사용됩니다. 📌 final, finally, finalise의 차이는 무엇인가요? 'final', 'finally', 'finalize'는 자바에서 다른 목적으로 사용되는 키워드입니다. 'final'은 변수, 메소드, 클래스가 변경 불가능하게 만드는 데 사용됩니다. 'finally'는 try-catch 블록에서 예외 발생 여부와 관계없이 항상 실행되는..
-
주니어 개발자를 위한 100가지 질문(답변 포함) - 6언어/JSP 2023. 10. 30. 19:28
6️⃣ Java Web 📌 jsp와 servlet의 차이점은 무엇인가요? JSP(Java Server Pages)와 Servlet은 모두 웹 페이지를 동적으로 생성하는 데 사용되는 기술입니다. Servlet은 자바 코드 안에 HTML 코드가 포함된 형태이며, JSP는 HTML 코드 안에 자바 코드가 포함된 형태입니다. 즉, Servlet은 Java를 기반으로 하고, JSP는 HTML을 기반으로 합니다. 이로 인해 JSP는 디자인에 집중된 개발자들에게 더 적합하고, Servlet은 자바 개발에 더 숙달된 개발자들에게 적합합니다. 📌 jsp를 기본 제공하는 객체는 무엇이 있나요? JSP는 기본적으로 아래의 내장 객체를 제공합니다: request, response, session, application, pa..
-
주니어 개발자를 위한 100가지 질문(답변 포함) - 5언어/JSP 2023. 10. 29. 13:11
5️⃣ object copy 📌 복사가 사용되는 이유는 무엇인가요? 복사는 원본 데이터의 변경 없이 동일한 값을 가진 새로운 데이터를 사용하고 싶을 때 사용됩니다. 객체 지향 프로그래밍에서 객체의 상태를 변경하지 않고 동일한 상태를 유지하려는 불변성을 지키기 위해 복사가 필요합니다. 📌 객체 복사는 어떻게 할 수 있나요? 자바에서 객체 복사를 위해 clone() 메서드를 사용할 수 있습니다. 그러나 이는 얕은 복사를 수행하므로, 깊은 복사를 위해서는 직렬화-역직렬화 방법, 복사 생성자, 복사 팩토리 등의 방법을 사용할 수 있습니다. 📌 깊은 복사와 얕은 복사의 차이를 말해주세요. 얕은 복사(Shallow Copy)는 객체가 가진 멤버 필드 값만을 복사하는 방식입니다. 이 때, 멤버 필드가 참조형일 경우 ..
-
주니어 개발자를 위한 100가지 질문(답변 포함) - 4언어/JSP 2023. 10. 28. 09:45
4️⃣ reflection 📌 reflection이란 무엇인가요? 리플렉션(Reflection)은 자바에서 클래스 또는 멤버 변수, 메서드, 생성자 등의 정보를 런타임에 알아내는 기능을 말합니다. 리플렉션을 사용하면 인스턴스의 생성, 메서드의 호출 등의 동작을 동적으로 수행할 수 있습니다. 📌 자바 직렬화란 무엇인가요? 어떤 상황에서 필요한가요? 자바 직렬화(Serialization)는 자바 객체를 네트워크로 전송하거나 파일에 저장할 수 있는 바이트 스트림으로 변환하는 과정을 말합니다. 네트워크를 통해 객체를 전송하거나, 객체의 상태를 영속적으로 저장해야 할 때 직렬화가 필요합니다. 📌 동적 프록시란 무엇인가요? 동적 프록시는 런타임에 인터페이스를 구현하여 생성하는 프록시 클래스의 인스턴스를 말합니다. ..
-
주니어 개발자를 위한 100가지 질문(답변 포함) - 3언어/JSP 2023. 10. 27. 19:04
3️⃣ multi-threading 📌 병렬과 동시성의 차이점을 말해주세요. 병렬처리(Parallelism)는 여러 개의 CPU 코어를 사용하여 여러 작업을 동시에 수행하는 것입니다. 반면에 동시성(Concurrency)는 단일 CPU 코어에서 여러 작업을 번갈아 가면서 수행하여 마치 동시에 처리되는 것처럼 보이게 하는 것입니다. 📌 스레드와 프로세스의 차이를 말해주세요. 프로세스는 운영 체제로부터 자원을 할당받아 실행하는 작업의 단위입니다. 각 프로세스는 독립된 메모리 영역을 가지며, 다른 프로세스의 자원에 접근하려면 프로세스 간의 통신(IPC)을 사용해야 합니다. 반면에 스레드는 프로세스 내에서 실행되는 흐름의 단위로, 같은 프로세스 내의 스레드들은 해당 프로세스의 자원을 공유할 수 있습니다. 📌 데..
-
주니어 개발자를 위한 100가지 질문(답변 포함) - 2언어/JSP 2023. 10. 26. 19:47
2️⃣ Container 📌 자바 컨테이너란 무엇인가요? 자바 컨테이너는 일반적으로 서블릿 컨테이너 또는 웹 컨테이너라고도 부르며, 웹 애플리케이션을 실행하고 관리하는 서버 측 컴포넌트입니다. 서블릿, JSP, 필터 등의 수명 주기를 관리하며, 네트워크 서비스, 요청 및 응답 객체, 세션 관리 등의 기능을 제공합니다. 📌 Collection과 Collections의 차이는 무엇인가요? Collection은 자바에서 단일 단위의 객체를 그룹화하는데 사용되는 인터페이스입니다. List, Set, Queue 등이 이에 속합니다. 반면에 Collections는 Collection과 관련된 메서드를 제공하는 유틸리티 클래스입니다. 정렬(sort), 뒤집기(reverse), 탐색(search) 등의 작업을 수행하는..
-
주니어 개발자를 위한 100가지 질문(답변 포함) - 1언어/JSP 2023. 10. 26. 19:30
1️⃣ 기초 📌 JDK와 JRE의 차이점은 무엇입니까? JDK(Java Development Kit)는 자바를 개발하기 위한 도구 모음입니다. 컴파일러, 라이브러리, 도큐먼트 등이 포함되어 있습니다. 반면에 JRE(Java Runtime Environment)는 자바 프로그램을 실행하기 위한 환경을 제공합니다. JVM과 필요한 라이브러리들을 포함하고 있습니다. 📌 ==와 equals의 차이점은 무엇입니까? '==' 연산자는 두 변수의 참조값(메모리 주소)이 같은지를 확인합니다. equals 메서드는 두 객체의 내용이 같은지를 확인합니다. 즉, '=='은 물리적 동일성을, equals는 논리적 동일성을 비교합니다. 📌 두 객체가 동일한 hashCode를 가지면 Equals()가 참이어야 합니다, 그렇죠? ..