네트워크 프로그래밍이라는 용어 여러 장치(컴퓨터)에서 실행되는 프로그램을 작성하는 것을 말하며, 장치가 모두 네트워크를 통해 서로 연결되어 있습니다. J2SE API의 java.net 패키지에는 하위 수준 통신 세부 정보를 제공하는 클래스 및 인터페이스 모음이 포함되어 있어 당면한 문제 해결에 중점을 둔 프로그램을 작성할 수 있습니다. java.net 패키지는 두 가지 공통 네트워크 프로토콜에 대한 지원을 제공합니다. - TCP − TCP는 전송 제어 프로토콜의 약자로 두 응용 프로그램 간의 안정적인 통신을 허용합니다. T
Java는 객체 직렬화라고 하는 메커니즘을 제공합니다. 여기서 객체는 객체의 데이터와 객체의 유형 및 객체에 저장된 데이터 유형에 대한 정보를 포함하는 바이트 시퀀스로 표현될 수 있습니다. 직렬화된 개체가 파일에 작성된 후에는 파일에서 읽고 역직렬화할 수 있습니다. 즉, 개체와 해당 데이터를 나타내는 유형 정보와 바이트를 사용하여 메모리에 개체를 다시 만들 수 있습니다. 가장 인상적인 것은 전체 프로세스가 JVM에 독립적이라는 점입니다. 즉, 한 플랫폼에서 개체를 직렬화하고 완전히 다른 플랫폼에서 역직렬화할 수 있습니다. Ob
Integer 배열, String 배열 또는 정렬을 지원하는 모든 유형의 배열에서 요소를 정렬할 수 있는 단일 정렬 방법을 작성할 수 있다면 좋을 것입니다. 자바 일반 메소드와 제네릭 클래스를 사용하면 프로그래머가 단일 메소드 선언으로 관련 메소드 세트를 지정하거나 단일 클래스 선언으로 관련 유형 세트를 각각 지정할 수 있습니다. 제네릭은 또한 프로그래머가 컴파일 시간에 잘못된 형식을 잡을 수 있도록 컴파일 시간 형식 안전성을 제공합니다. Java Generic 개념을 사용하여 객체 배열을 정렬하는 일반 메서드를 작성한 다음
Java 2 이전에 Java는 Dictionary, Vector, Stack과 같은 임시 클래스를 제공했습니다. 및 속성 개체 그룹을 저장하고 조작합니다. 이러한 수업은 매우 유용했지만 중심적이고 통합적인 주제가 부족했습니다. 따라서 Vector를 사용하는 방식과 Properties를 사용하는 방식이 다릅니다. 컬렉션 프레임워크는 다음과 같은 여러 목표를 충족하도록 설계되었습니다. - 프레임워크는 고성능이어야 했습니다. 기본 컬렉션(동적 배열, 연결 목록, 트리 및 해시 테이블)에 대한 구현은 매우 효율적이어야 했습니다.
Java 유틸리티 패키지에서 제공하는 데이터 구조는 매우 강력하며 다양한 기능을 수행합니다. 이러한 데이터 구조는 다음 인터페이스와 클래스로 구성됩니다. - 열거 비트셋 벡터 스택 사전 해시테이블 속성 이 모든 클래스는 이제 레거시이며 Java-2는 다음 장에서 설명하는 Collections Framework라는 새로운 프레임워크를 도입했습니다. - 열거 Enumeration 인터페이스는 그 자체가 데이터 구조는 아니지만 다른 데이터 구조의 컨텍스트 내에서 매우 중요합니다. Enumeration 인터페이스는 데이터 구조에서
패키지는 이름 충돌을 방지하고 액세스를 제어하며 클래스, 인터페이스, 열거 및 주석의 검색/찾기 및 사용을 보다 쉽게 하기 위해 Java에서 사용됩니다. 패키지 액세스 보호 및 네임스페이스 관리를 제공하는 관련 유형(클래스, 인터페이스, 열거 및 주석)의 그룹으로 정의할 수 있습니다. Java의 기존 패키지 중 일부는 - java.lang - 기본 클래스 묶음 java.io - 입력 클래스, 출력 기능이 이 패키지에 번들되어 있습니다. 프로그래머는 자신의 패키지를 정의하여 클래스/인터페이스 등의 그룹을 묶을
인터페이스는 Java에서 참조 유형입니다. 클래스와 비슷합니다. 추상 메서드 모음입니다. 클래스는 인터페이스를 구현하므로 인터페이스의 추상 메서드를 상속합니다. 추상 메서드와 함께 인터페이스에는 상수, 기본 메서드, 정적 메서드 및 중첩 형식도 포함될 수 있습니다. 메서드 본문은 기본 메서드와 정적 메서드에만 존재합니다. 인터페이스를 작성하는 것은 클래스를 작성하는 것과 유사합니다. 그러나 클래스는 개체의 속성과 동작을 설명합니다. 그리고 인터페이스에는 클래스가 구현하는 동작이 포함됩니다. 인터페이스를 구현하는 클래스가 추상
캡슐화 네 가지 기본 OOP 개념 중 하나입니다. 나머지 세 가지는 상속, 다형성, 추상화입니다. Java의 캡슐화는 데이터(변수)와 데이터(메소드)에 작용하는 코드를 단일 단위로 함께 래핑하는 메커니즘입니다. 캡슐화에서 클래스의 변수는 다른 클래스에서 숨겨지고 현재 클래스의 메서드를 통해서만 액세스할 수 있습니다. 따라서 데이터 은닉이라고도 합니다. . Java에서 캡슐화를 달성하려면 - 클래스의 변수를 private로 선언합니다. 변수 값을 수정하고 볼 수 있는 공용 setter 및 getter 메서드를 제공합니다
사전에 따라 추상화 이벤트보다는 아이디어를 다루는 품질입니다. 예를 들어, 이메일의 경우를 생각하면 이메일을 보내자마자 어떤 일이 일어나는지, 이메일 서버가 사용하는 프로토콜과 같은 복잡한 세부 사항은 사용자에게 숨겨져 있습니다. 따라서 이메일을 보내려면 내용을 입력하고 수신자의 주소를 언급한 다음 보내기를 클릭하기만 하면 됩니다. 마찬가지로 객체 지향 프로그래밍에서 추상화는 구현 세부 사항을 사용자에게 숨기는 프로세스이며 기능만 사용자에게 제공됩니다. 즉, 사용자는 개체가 수행하는 작업 대신 개체가 수행하는 작업에 대한 정보를
다형성은 다양한 형태를 취할 수 있는 개체의 능력입니다. OOP에서 다형성의 가장 일반적인 사용은 부모 클래스 참조가 자식 클래스 개체를 참조하는 데 사용될 때 발생합니다. 둘 이상의 IS-A 테스트를 통과할 수 있는 모든 Java 객체는 다형성으로 간주됩니다. 자바에서 모든 자바 객체는 다형성입니다. 어떤 객체도 자신의 유형과 객체 클래스에 대한 IS-A 테스트를 통과할 것이기 때문입니다. 개체에 액세스할 수 있는 유일한 방법은 참조 변수를 통해서라는 것을 아는 것이 중요합니다. 참조 변수는 한 가지 유형일 수 있습니다. 한
이전 장에서 우리는 슈퍼클래스와 서브클래스에 대해 이야기했습니다. 클래스가 상위 클래스에서 메서드를 상속하는 경우 final로 표시되지 않는 한 메서드를 재정의할 기회가 있습니다. 재정의의 이점은 하위 클래스 유형에 고유한 동작을 정의할 수 있다는 것입니다. 즉, 하위 클래스가 요구 사항에 따라 상위 클래스 메서드를 구현할 수 있음을 의미합니다. 개체 지향적인 용어로 재정의는 기존 메서드의 기능을 재정의하는 것을 의미합니다. 예시 예를 살펴보겠습니다. 라이브 데모 class Animal { public void move
상속은 한 클래스가 다른 클래스의 속성(메서드 및 필드)을 획득하는 프로세스로 정의할 수 있습니다. 상속을 사용하면 정보를 계층적 순서로 관리할 수 있습니다. 다른 사람의 속성을 상속하는 클래스를 하위 클래스(파생 클래스, 자식 클래스)라고 하고 속성을 상속받는 클래스를 슈퍼 클래스(기본 클래스, 부모 클래스)라고 합니다. 확장 키워드 확장 클래스의 속성을 상속하는 데 사용되는 키워드입니다. 다음은 extends 키워드의 구문입니다. 구문 class Super { ..... ..... } class Sub ext
이 장에서는 Java의 내부 클래스에 대해 설명합니다. 중첩 클래스 Java에서 메소드와 마찬가지로 클래스의 변수도 다른 클래스를 멤버로 가질 수 있습니다. 다른 클래스 내에 클래스를 작성하는 것은 Java에서 허용됩니다. 내부에 작성된 클래스를 중첩 클래스라고 합니다. , 내부 클래스를 보유하는 클래스를 외부 클래스라고 합니다. . 구문 다음은 중첩 클래스를 작성하는 구문입니다. 여기에서 Outer_Demo 클래스 외부 클래스이고 Inner_Demo 클래스입니다. 중첩 클래스입니다. class Outer_Demo {
예외(또는 예외적인 이벤트)는 프로그램 실행 중에 발생하는 문제입니다. 예외가 발생한 경우 발생하면 프로그램의 정상적인 흐름이 중단되고 프로그램/응용 프로그램이 비정상적으로 종료되므로 권장하지 않으므로 이러한 예외를 처리해야 합니다. 예외는 여러 가지 이유로 발생할 수 있습니다. 다음은 예외가 발생하는 몇 가지 시나리오입니다. 사용자가 잘못된 데이터를 입력했습니다. 열어야 할 파일을 찾을 수 없습니다. 통신 도중 네트워크 연결이 끊겼거나 JVM의 메모리가 부족합니다. 이러한 예외 중 일부는 사용자 오류로 인해
java.io 패키지에는 Java에서 입출력(I/O)을 수행하는 데 필요한 거의 모든 클래스가 포함되어 있습니다. 이러한 모든 스트림은 입력 소스와 출력 대상을 나타냅니다. java.io 패키지의 스트림은 프리미티브, 객체, 현지화된 문자 등과 같은 많은 데이터를 지원합니다. 스트림 스트림은 데이터 시퀀스로 정의할 수 있습니다. 스트림에는 두 가지 종류가 있습니다 - 인풋스트림 − InputStream은 소스에서 데이터를 읽는 데 사용됩니다. 출력스트림 − OutputStream은 대상에 데이터를 쓰는 데 사용됩니다.
Java 메소드는 작업을 수행하기 위해 함께 그룹화되는 명령문의 모음입니다. System.out.println()을 호출할 때 예를 들어, 시스템은 콘솔에 메시지를 표시하기 위해 실제로 여러 명령문을 실행합니다. 이제 반환 값이 있거나 없는 고유한 메서드를 만들고 매개 변수가 있거나 없는 메서드를 호출하고 프로그램 디자인에서 메서드 추상화를 적용하는 방법을 배웁니다. 생성 방법 메소드의 구문을 설명하기 위해 다음 예를 고려하십시오 - 구문 public static int methodName(int a, int b) {
Java는 정규 표현식과의 패턴 일치를 위해 java.util.regex 패키지를 제공합니다. Java 정규식은 Perl 프로그래밍 언어와 매우 유사하고 배우기 쉽습니다. 정규식은 패턴에 포함된 특수 구문을 사용하여 다른 문자열이나 문자열 집합을 일치시키거나 찾는 데 도움이 되는 특수 문자 시퀀스입니다. 텍스트와 데이터를 검색, 편집 또는 조작하는 데 사용할 수 있습니다. java.util.regex 패키지는 주로 다음 세 가지 클래스로 구성됩니다. - 패턴 클래스 - Pattern 객체는 정규 표현식의 컴파일된 표현입니다
Java는 날짜를 제공합니다. java.util에서 사용 가능한 클래스 패키지에서 이 클래스는 현재 날짜와 시간을 캡슐화합니다. Date 클래스는 다음 표와 같이 두 개의 생성자를 지원합니다. Sr.No. 생성자 및 설명 1 날짜( ) 이 생성자는 현재 날짜와 시간으로 개체를 초기화합니다. 2 날짜(긴 밀리초) 이 생성자는 1970년 1월 1일 자정 이후 경과된 시간(밀리초)과 동일한 인수를 허용합니다. 다음은 날짜 클래스의 메소드입니다. Sr.No. 방법 및 설명 1 boolean after(날짜
Java는 데이터 구조인 배열을 제공합니다. , 동일한 유형의 요소에 대한 고정 크기 순차 컬렉션을 저장합니다. 배열은 데이터 모음을 저장하는 데 사용되지만 종종 배열을 같은 유형의 변수 모음으로 생각하는 것이 더 유용합니다. number0, number1, ..., number99와 같은 개별 변수를 선언하는 대신 숫자와 같은 하나의 배열 변수를 선언하고 숫자[0], 숫자[1], ..., 숫자[99]를 사용하여 표현합니다. 개별 변수. 이 튜토리얼에서는 배열 변수를 선언하고, 배열을 생성하고, 인덱스 변수를 사용하여 배열을 처
Java 프로그래밍에서 널리 사용되는 문자열은 일련의 문자입니다. 자바 프로그래밍 언어에서 문자열은 객체로 취급됩니다. Java 플랫폼은 문자열을 생성하고 조작하기 위한 String 클래스를 제공합니다. 문자열 생성 문자열을 생성하는 가장 직접적인 방법은 −를 작성하는 것입니다. String greeting = Hello world!; 코드에서 문자열 리터럴을 만날 때마다 컴파일러는 이 경우 값이 Hello world!인 String 개체를 만듭니다. 다른 개체와 마찬가지로 new 키워드와 생성자를 사용하여 String
java