목록JAVA/Mentor JAVA (18)
노승현
입출력 스트림은 데이터를 읽거나 쓰는 데 사용되는 추상화된 개념으로, 자바에서는 java.io 패키지를 통해 제공됩니다. 여기서는 입출력 스트림의 주요 특징에 대해 알려드리겠습니다. 1. 입출력 스트림의 종류: 입력 스트림 (Input Stream): 데이터를 읽어들이는 스트림. InputStream 클래스와 그 하위 클래스들이 제공됩니다. 출력 스트림 (Output Stream): 데이터를 출력하는 스트림. OutputStream 클래스와 하위 클래스들이 있습니다. 2. 바이트 기반 스트림과 문자 기반 스트림: 바이트 기반 스트림 (Byte Streams): 바이트 단위로 데이터를 처리하는 스트림. InputStream 및 OutputStream의 하위 클래스들이 여기에 속합니다. 문자 기반 스트림 (..
프로세스와 스레드는 컴퓨터 프로그램 실행과 관련된 중요한 컴퓨팅 개념입니다. 프로세스(Process): 정의: 프로세스는 실행 중인 프로그램으로, 메모리에 올라가서 실행 중인 프로그램의 인스턴스입니다. 각각의 프로세스는 독립적인 메모리 공간을 가지며, 서로 영향을 미치지 않습니다. 특징: 프로세스는 각각 독립된 자원을 할당받아 실행되기 때문에 안정성이 높습니다. 각 프로세스는 독립된 주소 공간을 가지므로, 한 프로세스의 오류가 다른 프로세스에 영향을 주지 않습니다. 프로세스 간 통신은 별도의 메커니즘을 사용하여 이루어집니다. 스레드(Thread): 정의: 스레드는 프로세스 내에서 실행되는 작은 실행 단위입니다. 하나의 프로세스 내에서 여러 스레드가 공유된 자원(메모리)을 사용하며 동작합니다. 특징: 스레..
1. 람다식(Lambda Expression): 람다식은 Java 8에서 도입된 함수형 프로그래밍의 핵심 기능 중 하나로, 익명 함수를 생성하기 위한 간결한 문법을 제공합니다. 주로 함수형 인터페이스를 구현하기 위해 사용되며, 코드를 간결하게 표현할 수 있습니다. 람다식의 일반적인 형태는 다음과 같습니다: (parameters) -> expression 예를 들어, 두 개의 정수를 더하는 간단한 함수를 람다식으로 표현하면 다음과 같습니다 (int a, int b) -> a + b 2. 람다식 문법: 2.1 매개변수: 매개변수가 없는 경우: () -> expression 하나의 매개변수인 경우: (parameter) -> expression 여러 매개변수인 경우: (parameter1, parameter2..
Java에서는 컬렉션 프레임워크(Collection Framework)를 제공하여 데이터를 저장하고 처리하는 다양한 자료 구조 및 알고리즘을 지원합니다. 컬렉션 프레임워크는 표준 인터페이스와 구현 클래스로 구성되어 있으며, 제네릭(Generics)을 활용하여 타입 안정성을 제공합니다. 1. 컬렉션 프레임워크의 주요 인터페이스: Collection 인터페이스: List, Set, Queue 인터페이스의 상위 인터페이스로, 여러 요소를 담을 수 있는 컬렉션을 정의합니다. 주요 메서드로는 add, remove, size 등이 있습니다. List 인터페이스: 순서가 있는 데이터의 집합을 나타내며, 중복된 요소를 허용합니다. 구현 클래스로는 ArrayList, LinkedList, Vector 등이 있습니다. S..
자바에서 제공하는 API(Application Programming Interface)는 프로그램 개발에 자주 사용되는 클래스 및 인터페이스의 모음을 말하며 라이브러리라고도 부릅니다. 이전에는 자바 개발도구를 설치할 때 함께 설치되었으나, 지금은 분리되어 따로 설치하거나, 사이트를 이용해 확인할 수 있습니다. java.lang 패키지 java.lang 패키지는 Java 프로그래밍 언어에서 기본적이고 핵심적인 클래스들을 포함하는 패키지입니다. 이 패키지의 클래스들은 자바 언어의 핵심 기능을 지원하며, 자동으로 임포트되기 때문에 별도의 임포트 없이 사용할 수 있습니다. java.lang 패키지에는 다양한 클래스와 인터페이스가 포함되어 있습니다. 몇 가지 중요한 클래스와 인터페이스에 대한 설명은 다음과 같습니..
예외와 오류의 차이 에러(Error)와 예외(Exception)는 프로그래밍에서 특정 문제 또는 오류를 나타내는 용어로 사용되지만, 그들 간에는 몇 가지 차이가 있습니다. 에러(Error): 에러는 프로그램이 실행 중에 발생하는 심각한 문제를 나타냅니다. 에러는 주로 컴파일 시간에 발생하며, 프로그램이 실행되기 전에 발견됩니다. 이러한 에러를 해결하지 않으면 프로그램은 실행되지 않습니다. 대표적인 예로는 구문 오류(Syntax Error)가 있습니다. 이는 프로그램 코드가 올바른 구문을 따르지 않을 때 발생합니다. 예외(Exception): 예외는 프로그램이 실행 중에 예측 가능한 문제 또는 상황을 나타냅니다. 예외는 프로그램이 실행되는 동안 발생하며, 발생한 예외에 대한 처리가 가능합니다. 대표적인 예..
내부 클래스의 종류: 인스턴스 내부 클래스 (Instance Inner Class): 외부 클래스의 인스턴스가 생성될 때만 사용할 수 있는 내부 클래스입니다. 외부 클래스의 인스턴스 멤버에 접근이 가능합니다. public class OuterClass { class InnerClass { // 내부 클래스의 멤버들 } } 2. 정적 내부 클래스 (Static Inner Class): 외부 클래스의 인스턴스에 독립적으로 사용할 수 있는 내부 클래스입니다. 외부 클래스의 정적 멤버에만 접근이 가능합니다. public class OuterClass { static class StaticInnerClass { // 내부 클래스의 멤버들 } } 3. 지역 내부 클래스 (Local Inner Class): 메서드나..
다형성(polymorphism)은 프로그래밍에서 여러 가지 형태를 가질 수 있는 능력을 가리킵니다. 객체 지향 프로그래밍에서 다형성은 한 가지 인터페이스나 추상 클래스를 여러 개의 클래스가 구현하거나 상속받을 수 있는 능력을 의미합니다. 이는 코드의 재사용성을 높이고 유연성을 확보하는 데 도움이 됩니다. 타입 변환(type conversion)은 데이터의 타입을 변환하는 과정을 의미합니다. 여기에는 암시적인 변환과 명시적인 변환이 있습니다. 다형성(Polymorphism): 정적 다형성(Static Polymorphism): 컴파일 시간에 결정되는 다형성입니다. 메소드 오버로딩이 이에 해당하며, 같은 이름의 메소드가 매개변수의 개수나 타입에 따라 다르게 동작하는 것을 말합니다 class Calculato..