본문 바로가기

Java29

면접준비 - 자바 java • Managed - Unmanaged 언어의 차이는 무엇이고 어떤 장, 단점이 있나요? Managed Language는 코드가 하드웨어에서 구동되는 것이 아니라 특정 런타임 환경에 의해 관리되고 의존하는 언어이다. 대표적인 예로 java와 C#이 있다. Unmanaged Language는 코드가 하드웨어에서 바로 구동되어지는 언어로 c, c++이 있다. 각각의 장단점으로는 Managed 언어는 메모리를 직접 관리하지 않아도 된다는 점과 코드가 하드웨어에 의존적이지 않고 런타임환경에 의존한다는 것이고 단점으로는 메모리를 직접 관리하지 못하기에 프로그래밍의 자유도가 낮으며 비정기적인 메모리 정리가 이루어진다는 것이다. Managed Language의 장점으로는 하드웨어에서 바로 구동되므로 속도가 .. 2022. 10. 17.
입출력 I/O Input과 Output의 약자로 입력과 출력, 간단히 입출력이라고 한다. 컴퓨터 내부 또는 외부의 장치와 프로그램간의 데이터를 주고받는 것. 스트림 데이터를 운반하는데 사용되는 연결통로 단방향 통신만 가능하기 때문에 하나의 스트림으로 입력과 출력을 동시에 처리할 수 없다. 입력을 위한 입력스트림, 출력을 위한 출력스트림이 존재한다. 큐와 같은 FIFO구조 바이트 기반 스트림 InputStream, OutputStream이 있다. 바이트 단위로 데이터를 전송하는 스트림 보조 스트림 스트림의 기능을 보완하기 위해 제공. 실제 데이터를 주고받지 않기에 데이터를 입출력할 수 있는 기능은 없다. 스트림의 기능 향상 및 새로운 기능 추가 Buffer 바이트배열을 사용해서 일정량의 데이터의 크기만큼 모아서 .. 2022. 5. 27.
에노테이션 애노테이션 자바개발자들은 소스코드와 문서를 하나의 파일로 관리하는 것이 더 낫다고 생각했다. 그래서 소스코드의 주석에 소스코드에 대한 정보를 저장하고, 소스코드의 주석으로부터 HTML문서를 생성해내는 프로그램인 javadoc.exe를 만들어서 사용한다. 이 기능을 응용하여 프로그램의 소스코드 안에 다른 프로그램을 위한 정보를 미리 약속된 형식으로 포함시킨 것이 에노테이션이다. 표준 에노테이션 자바에서 기본적으로 제공하는 에터네이션. 에노테이션 설명 @Override 컴파일러에게 오버라이딩 하는 메서드라는 것을 알린다. @Deprecated 앞으로 사용하지 않을 것을 권장하는 대상에게 붙인다. @SuppressWarnings 컴파일러의 특정 경고메시지가 나타나지 않게 해준다. @SafeVarargs 지네릭.. 2022. 5. 27.
Enum Enum JDK 1.5부터 자바에 열거형이라는 것이 추가 되었다. 서로 관련된 상수들을 정의하여 편리하게 사용하기 위한 자료형이다. public class Something { static final int ZERO = 0; static final int ONE = 1; static final int A = 0; static final int B = 1; final int number; final int word; public Something(int number, int word) { this.number = number; this.word = word; } public static void main(String[] args) { Something something = new Something(Some.. 2022. 5. 27.