Java는 원래 Sun Micro 시스템에서 개발되어 1995년에 출시된 범용 고급 프로그래밍 언어입니다. Java는 Windows, Mac OS 및 다양한 UNIX 버전과 같은 다양한 플랫폼에서 실행됩니다. James Gosling은 1991년 6월 자신의 많은 셋톱 박스 프로젝트 중 하나에서 사용하기 위해 Java 언어 프로젝트를 시작했습니다. 처음에는 Gosling의 사무실 밖에 서 있던 떡갈나무의 이름을 따서 Oak라고 불렀던 언어도 Green이라는 이름으로 바뀌었고 나중에 임의의 단어 목록에서 Java로 이름이 바뀌었습니
JDK (Java Development Kit)에는 JRE를 비롯한 Java 애플리케이션을 개발하고 실행하는 데 필요한 모든 도구와 라이브러리가 포함되어 있습니다. JRE Java 런타임 환경은 Java 프로그램을 실행하는 데 필요한 JVM 및 기타 라이브러리를 포함하는 소프트웨어입니다.
일반적으로 재정의에서 상위 클래스와 하위 클래스의 메소드는 동일한 이름과 매개변수를 갖습니다. 단, 리턴 타입의 경우, 서브 클래스의 메소드는 슈퍼 클래스의 메소드 리턴 타입의 서브 타입을 리턴할 수 있습니다. 예시 다음 예제 슈퍼 클래스에 demoMethod()라는 메서드가 있는 것을 관찰하면 유형 목록의 값을 반환합니다. 이 메서드를 재정의하면 하위 클래스의 메서드가 List 유형의 값을 반환할 수 있습니다. (슈퍼클래스에 있음) 또는 목록의 하위 유형을 반환할 수도 있습니다. ArrayList, Stack, Vector 등과
아니요. Java 생성자는 값을 반환할 수 없습니다. 필요한 경우 필요한 생성자를 호출하고 필요한 값을 반환하는 메서드를 생성하기만 하면 됩니다. 아래 예를 참조하십시오. public class Tester { public Tester(){} public static Tester getInstance(){ Tester tester = new Tester(); return tester; &n
인스턴스 이니셜라이저 블록은 생성자와 유사합니다. 각 개체에 대해 한 번 호출되며 인스턴스 변수의 초기 값을 설정하는 데 사용할 수 있습니다. 아래 예를 참조하십시오. public class Tester { public int a; { a = 10; } public static void main(String[] args) { System.out.println(new Tester().a); }
다음은 Java에서 패키지를 사용할 때의 이점입니다. − 프로그래머는 자신의 패키지를 정의하여 클래스/인터페이스 등의 그룹을 묶을 수 있습니다. 프로그래머가 클래스, 인터페이스, 열거 및 주석이 관련되어 있는지 쉽게 결정할 수 있도록 사용자가 구현한 관련 클래스를 그룹화하는 것이 좋습니다. 패키지가 새 네임스페이스를 생성하므로 다른 패키지의 이름과 충돌하는 이름이 없습니다. 패키지를 사용하면 접근 제어를 더 쉽게 제공할 수 있습니다. 또한 관련 수업을 더 쉽게 찾을 수 있습니다. 많은 모듈을 포함하는 매우 큰 응용 프로그
동물이라는 패키지를 생성하는 예를 살펴보겠습니다. 클래스 및 인터페이스 이름과의 충돌을 피하기 위해 패키지 이름을 소문자로 사용하는 것이 좋습니다. 다음 패키지 예제에는 Animals 라는 인터페이스가 포함되어 있습니다 − /* File name : Animal.java */ package animals; interface Animal { public void eat(); public void travel(); } 이제 동일한 패키지 동물에서 위의 인터페이스를 구현해 보겠습니다. p
동물이라는 패키지를 생성하는 예를 살펴보겠습니다. 클래스 및 인터페이스 이름과의 충돌을 피하기 위해 패키지 이름을 소문자로 사용하는 것이 좋습니다. 다음 패키지 예제에는 Animals 라는 인터페이스가 포함되어 있습니다 − /* File name : Animal.java */ package animals; interface Animal { public void eat(); public void travel(); } 이제 동일한 패키지 동물에서 위의 인터페이스를 구현해 보겠습니다. -
보스 클래스가 급여 패키지에 정의되어 있는 예를 보면 이해할 수 있습니다. package payroll; public class Boss { public void payEmployee(Employee e) { e.mailCheck(); } } Employee 클래스가 급여 패키지에 없는 경우? 그러면 Boss 클래스는 다른 패키지의 클래스를 참조하기 위해 다음 기술 중 하나를 사용해야 합니다. 클래스의 정규화된 이름을 사용할 수 있습니다. 예를 들
보스 클래스가 급여 패키지에 정의되어 있는 예를 보면 이해할 수 있습니다. package payroll; public class Boss { public void payEmployee(Employee e) { e.mailCheck(); } } Employee 클래스가 급여 패키지에 없는 경우? 그러면 Boss 클래스는 다른 패키지의 클래스를 참조하기 위해 다음 기술 중 하나를 사용해야 합니다. 클래스의 정규화된 이름을 사용할 수 있습니다. 예를 들
보스 클래스가 급여 패키지에 정의되어 있는 예를 보면 이해할 수 있습니다. package payroll; public class Boss { public void payEmployee(Employee e) { e.mailCheck(); } } Employee 클래스가 급여 패키지에 없는 경우? 그러면 Boss 클래스는 다른 패키지의 클래스를 참조하기 위해 다음 기술 중 하나를 사용해야 합니다. 클래스의 정규화된 이름을 사용할 수 있습니다. 예를
하위 패키지는 하위 디렉토리와 유사합니다. 예를 들어 보십시오. 이 회사는 Dell.java 소스 파일이 포함된 com.apple.computers 패키지를 가지고 있었습니다. 이 패키지는 다음과 같은 일련의 하위 디렉토리에 포함됩니다. - ....\com\apple\computers\Dell.java 컴파일 시 컴파일러는 여기에 정의된 각 클래스, 인터페이스 및 열거형에 대해 다른 출력 파일을 만듭니다. 출력 파일의 기본 이름은 유형의 이름이고 확장자는 .class입니다. 예를 들어 - // File Name:Dell.java
패키지는 이름 충돌을 방지하고 액세스를 제어하며 클래스, 인터페이스, 열거 및 주석의 검색/찾기 및 사용을 보다 쉽게 하기 위해 Java에서 사용됩니다. 패키지는 액세스 보호 및 네임스페이스 관리를 제공하는 관련 유형(클래스, 인터페이스, 열거 및 주석)의 그룹으로 정의할 수 있습니다. Java의 기존 패키지 중 일부는 - java.lang - 기본 클래스 번들 java.io - 입력용 클래스, 출력 기능이 이 패키지에 번들되어 있습니다. 프로그래머는 자신의 패키지를 정의하여 클래스/인터페이스 등의 그룹을 묶을 수 있습
CLASSPATH를 사용하면 런타임에 모든 클래스를 로드할 수 있습니다. .java 소스 파일과 마찬가지로 컴파일된 .class 파일은 패키지 이름을 반영하는 일련의 디렉토리에 있어야 합니다. 그러나 .class 파일의 경로는 .java 소스 파일의 경로와 같을 필요는 없습니다. −와 같이 소스 및 클래스 디렉토리를 별도로 정렬할 수 있습니다. <path-one>\sources\com\apple\computers\Dell.java <path-two>\classes\com\apple\computers\Dell.
네. 유일한 조건은 별도의 Java 파일에 하나의 공개 클래스를 갖는 것입니다.
Java는 세 가지 유형의 상속을 지원합니다. − 단일 수준 상속 - 클래스는 단일 클래스의 속성을 상속합니다. 예를 들어 클래스 B는 클래스 A를 상속합니다. 다단계 상속 - 클래스는 속성을 다시 상속받은 클래스에서 속성을 상속합니다. 계층적 상속 - 여러 클래스가 단일 클래스의 속성을 상속합니다. 예를 들어 클래스 B는 클래스 A를 상속하고 클래스 C는 클래스 A를 상속합니다.
단일 수준 상속 - 클래스는 단일 클래스의 속성을 상속합니다. 예를 들어 클래스 B는 클래스 A를 상속합니다. 예 class Shape { public void display() { System.out.println("Inside display"); } } class Rectangle extends Shape { public void area() { System.out.p
다단계 상속 - 클래스는 속성을 다시 상속받은 클래스에서 속성을 상속합니다. 예시 class Shape { public void display() { System.out.println("Inside display"); } } class Rectangle extends Shape { public void area() { System.out.println("Insid
Java에서 클래스는 둘 이상의 클래스를 확장할 수 없습니다. 따라서 다음은 불법입니다 - 예시 public class extends Animal, Mammal{} 그러나 클래스는 하나 이상의 인터페이스를 구현할 수 있으므로 Java가 다중 상속의 불가능성을 제거하는 데 도움이 되었습니다. 그 이유는 모호성을 방지하기 위함입니다. 클래스 B가 클래스 A와 클래스 C를 확장하고 클래스 A와 C 모두 동일한 메소드 display()를 갖는 경우를 고려하십시오. 이제 Java 컴파일러는 상속해야 하는 표시 방법을 결정할 수 없습니
집계는 HAS-A 관계를 나타냅니다. 먼저 예를 살펴보겠습니다 - 예 public class Vehicle{} public class Speed{} public class Van extends Vehicle { private Speed sp; } 이것은 Van HAS-A Speed 클래스를 보여줍니다. Speed에 대해 별도의 클래스를 가짐으로써 속도에 속하는 전체 코드를 Van 클래스에 넣을 필요가 없으므로 여러 애플리케이션에서 Speed 클래스를 재사용할 수 있습니다. 객체 지향 기능에서 사용자는