JavaRush /Java Blog /Random-KO /커피 브레이크 #145. 90가지 자주 묻는 Java 인터뷰 질문 및 답변

커피 브레이크 #145. 90가지 자주 묻는 Java 인터뷰 질문 및 답변

Random-KO 그룹에 게시되었습니다
출처: Usemynotes 이 출판물에는 초급 및 중급 Java 개발자와의 인터뷰에서 자주 접하는 질문 목록이 포함되어 있습니다. 커피 브레이크 #145.  자주 묻는 Java 인터뷰 질문 90개 및 답변 - 1

1. Java를 플랫폼 독립적인 언어로 만드는 이유는 무엇입니까?

JDK(Java Development Kit)에서 생성된 바이트 코드는 운영 체제에 관계없이 모든 플랫폼의 JVM(Java Virtual Machine)에서 실행될 수 있기 때문에 Java를 플랫폼 독립적 언어라고 합니다.

2. Java가 완전한 객체 지향 언어가 아닌 이유는 무엇입니까?

Java는 객체가 아닌 8가지 기본 데이터 유형( boolean , byte , char , int , float , double , longshort )을 사용하기 때문에 완전한 객체 지향 언어가 아닙니다 .

3. Java에서 main() 메소드를 정적으로 만드는 이유는 무엇입니까?

main() 메소드는 선언된 클래스의 객체나 인스턴스를 생성하지 않고도 JVM에서 직접 호출할 수 있도록 정적으로 선언됩니다.

4. Java의 래퍼 클래스란 무엇입니까?

Java에서는 int , float 와 같은 모든 기본 데이터 유형에 래퍼 클래스라는 해당 클래스가 있습니다. 기본 데이터 유형을 객체로 래핑하거나 변환하기 때문에 래퍼라고도 합니다.

5. Java의 생성자란 무엇입니까?

Java의 생성자는 객체나 인스턴스가 생성될 때 자동으로 호출되는 특수 메서드입니다. 생성자와 클래스 이름이 일치해야 합니다.

6. Java에서 배열과 ArrayList의 차이점은 무엇입니까?

배열 배열목록
이는 정적 데이터 구조이므로 크기가 고정되어 변경할 수 없습니다. 이는 컬렉션 구조의 가변 길이 또는 동적 크기 배열입니다. 즉, 요구 사항에 따라 크기가 변경될 수 있습니다.
객체와 기본 유형을 모두 저장할 수 있습니다. 객체만 저장하거나 포함할 수 있고 기본 유형은 포함할 수 없습니다.
대괄호 [ ] 안에 인덱스를 지정하여 요소에 액세스할 수 있습니다. get() 메소드 내에서 인덱스 번호를 지정하여 요소에 액세스할 수 있습니다 .

7. Java는 왜 포인터를 사용하지 않습니까?

Java는 포인터가 안전하지 않고 프로그램에 복잡성을 추가하기 때문에 포인터를 사용하지 않습니다. 또한 Java는 사용자에게 직접적인 메모리 액세스를 제공하지 않기 위해 포인터를 피합니다.

8. Java에는 어떤 유형의 액세스 수정자가 있습니까?

Java에서 액세스 한정자는 클래스 외부 또는 다른 클래스에 있는 클래스 및 메서드에 대한 액세스를 나타내는 데 사용되는 키워드입니다. Java에는 네 가지 유형의 액세스 수정자가 있습니다.
  • 기본
  • 공공의
  • 사적인
  • 보호됨

9. Java에서 JIT란 무엇입니까?

JIT는 Java의 Just-In-Time Compiler의 약어입니다. 런타임 시 바이트코드를 기본 기계어 코드로 변환합니다. JIT 컴파일러는 Java 프로그램의 성능을 향상시키는 데 도움이 됩니다.

10. 자바에서 final 키워드란 무엇인가요?

Java의 final 키워드는 상수를 나타내는 데 사용됩니다. 변수, 클래스 및 메소드와 함께 사용할 수 있습니다.
  • final 키워드를 변수와 함께 사용하면 해당 값을 변경할 수 없습니다.
  • final 키워드를 메서드와 함께 사용하면 해당 메서드를 재정의할 수 없습니다.
  • final 클래스를 선언하면 해당 클래스는 하위 클래스에서 확장되거나 상속될 수 없습니다.

11. Java의 OOP 또는 객체 지향 프로그래밍의 기본 개념은 무엇입니까?

Java의 객체 지향 프로그래밍 또는 OOP는 4가지 주요 개념을 사용합니다.
  • 캡슐화.
  • 추출.
  • 계승.
  • 다형성.

12. Java에서 싱글톤 클래스란 무엇이며 클래스를 싱글톤으로 만드는 방법은 무엇입니까?

Java에서 싱글톤 클래스는 인스턴스나 객체가 하나만 있는 클래스입니다. 비공개 생성자를 생성하면 클래스를 싱글톤으로 만들 수 있습니다.

13. Java에서 로컬 변수와 인스턴스 변수의 차이점은 무엇입니까?

지역 변수는 블록이나 메서드 내에서 정의됩니다. 지역 변수의 범위는 블록 내에서만 적용됩니다. 클래스 인스턴스 변수는 클래스 내부에 있지만 메서드 외부에 정의된 변수입니다. 클래스의 객체를 생성하여 접근하며 객체가 삭제되면 종료됩니다.

14. OOP 또는 객체 지향 프로그래밍이란 무엇입니까?

객체 지향 프로그래밍 또는 OOP는 객체 개념을 사용하여 프로그램이나 응용 프로그램을 개발하는 데 사용되는 프로그래밍 패러다임입니다.

15. Java 문자열을 불변으로 만드는 것은 무엇입니까?

Java의 문자열은 변경할 수 없습니다. 즉, 문자열 개체가 생성되면 업데이트할 수 없지만 새 문자열 개체가 생성됩니다. 이는 문자열 개체가 문자열 풀에 캐시되기 때문입니다.

16. Java의 인터페이스와 추상 클래스의 차이점을 설명하십시오.

상호 작용 추상 수업
추상 메소드만 가질 수 있습니다. 추상 및 비추상 메서드를 모두 허용합니다.
서브클래스는 Implements 키워드를 사용하여 인터페이스를 구현합니다 . 서브클래스 또는 파생 클래스는 구현을 확장(확장)하기 위해 키워드를 사용하여 추상화를 상속합니다.
인터페이스에는 구현이 없는 공개 정적 메서드만 있을 수 있습니다. 구현이 없거나 구현된 메서드를 가질 수 있습니다.
인터페이스의 모든 메소드는 인터페이스를 구현하는 클래스에 의해 구현되어야 합니다. 추상 클래스에서 상속된 클래스는 해당 슈퍼클래스의 모든 메서드를 구현할 필요가 없습니다.

17. 다형성이란 무엇을 의미하며 그 유형은 무엇입니까?

Java의 다형성은 개체가 두 가지 이상의 형식을 취하는 능력입니다. 또한 다양한 방법으로 수행할 수 있는 단일 작업이나 활동으로 정의할 수도 있습니다. 다형성은 두 가지 유형으로 나뉩니다.
  1. 컴파일 타임 다형성.
  2. 런타임 다형성.

18. Java는 어떻게 컴파일 타임 및 런타임 다형성을 달성합니까?

Java에서는 컴파일 타임 다형성은 메서드 오버로딩을 통해 달성되고 런타임 다형성은 메서드 재정의를 통해 달성됩니다.

19. 추상화란 무엇을 의미하며 Java에서는 추상화가 어떻게 이루어지나요?

추상화는 내부 또는 구현 세부 정보를 표시하지 않고 중요한 정보를 표현하는 행위입니다. Java에서는 추상 클래스와 인터페이스를 사용하여 이를 달성합니다.

20. Java의 인터페이스란 무엇입니까?

Java의 인터페이스는 함수 선언만 있고 구현은 없는 추상 메소드 세트입니다. 인터페이스의 객체나 인스턴스를 생성할 수 없습니다. 인터페이스에는 생성자가 있을 수 없습니다. 클래스는 Java의 Implements 키워드를 사용하여 여러 인터페이스를 구현할 수 있습니다.

21. Java에는 어떤 유형의 상속이 있습니까?

Java에서는 슈퍼 클래스나 기본 클래스의 속성과 메서드를 상속하기 위해 확장 키워드를 사용합니다. 상속에는 다섯 가지 유형이 있습니다.
  1. 단일 상속.
  2. 다단계 상속.
  3. 계층적 상속.
  4. 인터페이스를 통한 다중 상속.
  5. 하이브리드 상속.

22. Java가 다중 상속을 지원하지 않는 이유는 무엇입니까?

Java는 모호함을 방지하기 위해 다중 상속을 지원하지 않습니다. 예를 들어, 두 개의 슈퍼클래스 A와 B가 있고, A와 B를 모두 상속하는 하위 클래스 C가 있다고 가정합니다. 두 클래스 A와 B 모두 show() 메서드를 가지고 있습니다 . C 클래스의 객체를 생성하여 show() 메서드를 호출하면 show() 메서드 중 어떤 클래스 를 실행해야 하는지 명확하지 않기 때문에 컴파일러에서 오류가 발생합니다 .

23. 메소드 오버로딩과 메소드 오버라이딩의 차이점은 무엇입니까?

메소드 오버로딩 메소드 재정의
컴파일 타임 다형성. 런타임 다형성.
함수 또는 메서드 이름은 동일하지만 서명이 다른 동일한 클래스에 있는 두 개 이상의 메서드입니다. 서로 다른 클래스에서 동일한 함수 또는 메서드 이름과 서명을 갖는 두 개 이상의 메서드입니다.

24. Java에서 정적 또는 비공개 메서드를 재정의하는 것이 가능합니까?

비공개 메서드는 클래스 외부에서 액세스할 수 없으므로 하위 클래스에서 재정의되지 않습니다. 따라서 재정의할 수 없습니다. 마찬가지로 기본 클래스와 파생 클래스 모두에서 동일한 메서드 이름과 서명을 사용하여 정적 메서드를 생성하면 파생 클래스가 기본 클래스의 메서드를 숨기기 때문에 정적 메서드를 재정의할 수 없습니다. 이를 메소드 은닉이라고 합니다.

25. Java에서 생성자 오버로딩이란 무엇입니까?

Java에서는 클래스에 생성자가 두 개 이상 있지만 매개변수 목록이 다른 경우 생성자가 오버로드된 것으로 간주됩니다.

26. 추상 메서드가 없어도 추상 클래스를 정의할 수 있나요?

예, 추상 메서드가 없어도 추상 클래스를 만들 수 있습니다. 그러나 클래스에 하나 이상의 추상 메서드가 포함되어 있으면 추상으로 정의해야 하며, 그렇지 않으면 오류가 발생합니다.

27. 정적 변수와 메소드의 용도는 무엇입니까?

각 개체의 여러 복사본을 만드는 대신 클래스의 모든 개체에 대해 공통 메서드나 변수를 사용하려는 경우 정적 멤버(메서드 및 변수)를 사용합니다. 예를 들어 Employee 클래스에서는 모든 개체가 동일한 회사 이름을 가지므로 회사 이름을 정적으로 만들 수 있습니다.

28. Java에는 몇 가지 유형의 생성자가 있습니까?

Java에는 두 가지 유형의 생성자가 있습니다.
  1. 기본 생성자는 매개변수를 허용하지 않습니다.
  2. 매개변수화된 생성자 - 하나 이상의 매개변수를 사용합니다.

29. Java는 복사 생성자를 사용합니까?

아니요, Java에는 C++와 같은 복사 생성자가 없습니다.

30. Java에서 생성자와 메소드의 차이점을 설명하십시오.

건설자 방법
생성자 이름과 클래스 이름이 일치해야 합니다. 메소드 이름은 클래스 이름과 같을 수도 있고 같지 않을 수도 있습니다.
반환 유형을 가질 수 없습니다. 반환 유형이 있어야 합니다.
생성자는 정적일 수 없습니다. 메소드는 정적일 수도 있고 아닐 수도 있습니다.
클래스의 객체나 인스턴스가 생성될 때 자동으로 호출되거나 호출됩니다. 객체 이름과 마침표(.)를 함께 사용하여 호출하거나 적용합니다.
객체의 상태를 초기화하는 데 사용됩니다. 객체의 동작을 정의하는 데 사용됩니다.

31. main() 메소드를 사용하지 않고 프로그램을 실행할 수 있습니까?

아니요, 프로그램 실행은 main() 메소드 에서 시작되기 때문에 Java에서는 main() 메소드 없이 프로그램을 실행할 수 없습니다 .

32. Java에서 this 키워드는 무엇을 의미합니까?

Java의 this 키워드는 메소드나 변수를 호출하는 현재 객체를 참조하는 데 사용되는 참조 변수입니다.

33. 정적 멤버를 참조하기 위해 Java에서 this 키워드를 사용할 수 있습니까?

예, 현재 개체에 대한 참조 변수이므로 this 키워드를 사용하여 정적 멤버를 참조할 수 있습니다.

34. Java에서 main() 메소드를 공개 대신 비공개로 만들 수 있나요?

main() 메소드를 비공개로 만들 수 있지만, 그러면 런타임 오류가 발생하여 프로그램이 실행되지 않습니다.

35. Java에서 super 키워드는 무엇을 의미합니까?

Java에서 super 키워드는 직계 상위 클래스의 객체를 참조하는 데 사용되는 참조 변수입니다.

36. 벡터와 배열의 차이점을 설명하세요.

벡터 정렬
이것은 동적으로 크기가 조정되는 배열입니다. 고정된 크기의 데이터 구조입니다.
벡터가 동기화되었습니다. 어레이가 동기화되지 않았습니다.
배열에 비해 속도가 느립니다. 벡터에 비해 속도가 빠릅니다.
Java 객체만 포함하거나 저장할 수 있습니다. 기본 유형과 Java 객체를 모두 저장하는 데 사용됩니다.
size() 메소드를 사용하여 벡터의 길이를 알아낼 수 있습니다. length 속성을 사용하여 배열의 길이를 알아낼 수 있습니다.

37. Java의 멀티스레딩이란 무엇입니까?

멀티스레딩은 단일 프로그램 내에서 여러 작업을 동시에 실행하는 프로세스입니다. 이는 최대 프로세서 로드를 달성하기 위해 수행됩니다.

38. Java에서 멀티스레딩을 구현하는 방법은 무엇입니까?

Java의 멀티스레딩은 두 가지 방법으로 구현할 수 있습니다.
  1. java.lang.Runnable 에서 Runnable 인터페이스를 구현합니다 .
  2. java.lang.Thread 에서 Thread 클래스를 확장합니다 .

39. Java에서 super와 this 키워드 사이의 몇 가지 차이점을 설명하십시오.

감독자 이것
상위 클래스의 객체를 참조하는 데 사용됩니다. 현재 클래스 객체를 참조하는 데 사용됩니다.
상위 클래스 또는 기본 클래스의 메서드에 액세스하는 데 사용됩니다. 현재 클래스의 메서드에 액세스하는 데 사용됩니다.
기본 클래스의 기본 생성자를 호출합니다. 현재 클래스의 기본 생성자를 호출합니다.

40. 하위 클래스와 내부 클래스의 차이점은 무엇입니까?

아강 내부 클래스
이는 기본 클래스 또는 상위 클래스의 속성과 메서드를 상속하는 클래스입니다. 이는 다른 클래스 내에 중첩된 클래스입니다.
슈퍼클래스나 기본 클래스의 모든 공개 및 보호 멤버에 액세스할 수 있습니다. 외부 클래스의 모든 멤버에 액세스할 수 있습니다.

41. ​​Java의 클래스 로더란 무엇입니까?

Java 클래스 로더는 런타임 시 Java 클래스를 JVM(Java Virtual Machine)에 로드하는 데 사용되는 JRE(Java Runtime Environment)의 구성 요소입니다.

42. Try 블록 다음에 Catch 블록의 Java 예외 처리가 따라와야 합니까?

예, try 블록 에서 발생한 모든 예외는 catch 블록 에서 포착되어야 하므로 catch 블록을 반드시 사용해야 합니다 .

43. Java에서 예외 유형의 이름을 지정하십시오.

Java의 예외에는 두 가지 유형이 있습니다.
  1. 확인되지 않은 예외
  2. 확인된 예외

44. 스레드 상태는 무엇입니까?

Java에는 4가지 스레드 상태가 있습니다.
  1. 새로운 스트림.
  2. 실행 가능.
  3. 실행할 수 없습니다.
  4. 죽었거나 해고되었습니다.

45. NullPointerException이란 무엇입니까?

사용자가 null 개체의 값에 액세스하거나 값을 변경하려고 하면 NullPointerException이 발생합니다 .

46. ​​​​Java 예외 처리에는 어떤 유형의 키워드가 사용됩니까?

  1. 노력하다

  2. 잡다

  3. 마지막으로

  4. 던지다

  5. 던진다

47. Java에서 main() 메소드를 오버로드하는 것이 가능합니까?

예, main() 메소드는 오버로드될 수 있지만 JVM 또는 Java Virtual Machine은 원래 main() 메소드만 호출합니다 .

48. Java에서 main() 메서드를 재정의하는 것이 가능합니까?

아니요, main() 메서드 는 정적 메서드이고 정적 메서드는 재정의될 수 없기 때문 입니다.

49. equals()와 ==의 차이점은 무엇입니까?

Java에서 equals()는 두 객체나 변수의 값을 비교하는 데 사용되는 메서드인 반면, == 는 두 개의 객체나 변수의 주소나 메모리 위치를 비교하는 데 사용되는 비교 연산자입니다.

50. 클래스 생성자는 어떤 값이라도 반환할 수 있나요?

아니요, 생성자에는 반환 유형이 없으므로 어떤 값도 반환할 수 없습니다.

51. 집계 정의

집계는 두 클래스 간의 has-a 관계로 정의되는 연관 형태입니다. 이는 코드 재사용을 위해 수행됩니다. 이는 두 클래스 간의 단방향 또는 단방향 관계입니다.

52. 협회란 무엇입니까?

연관은 객체를 사용하여 두 클래스 간의 관계를 정의합니다. 관계 또는 연관은 일대일, 일대다, 다대다 또는 다대일일 수 있습니다. 집계와 구성은 연관의 두 가지 형태입니다.

53. 작곡이란 무엇입니까?

구성은 두 클래스가 서로 의존하는 결합 형태입니다.

54. 동적 바인딩과 정적 바인딩의 차이점은 무엇입니까?

동적 바인딩을 사용하면 메서드를 개체에 바인딩하기로 한 결정이 런타임에 내려집니다. 후기 바인딩은 동적 바인딩의 또 다른 이름입니다. 정적 바인딩을 사용하면 메서드를 개체에 바인딩할지 여부가 컴파일 타임에 결정됩니다. 정적 바인딩은 초기 바인딩의 또 다른 이름입니다.

55. 캡슐화와 추상화의 차이점을 설명하세요.

캡슐화에서는 데이터와 메서드가 클래스라는 단일 단위로 패키지되거나 번들됩니다. 추상화에서는 중요한 정보만 표시하고 내부 또는 구현 세부 정보는 숨깁니다.

56. Java의 추상 클래스란 무엇입니까?

추상 클래스는 인스턴스화할 수 없지만 참조 변수를 만들 수 있는 클래스입니다. 클래스는 abstract 키워드를 사용하여 abstract로 선언됩니다. 여기에는 추상 메서드와 비추상 메서드가 모두 포함됩니다.

57. 메소드에서 최종 키워드와 추상 키워드를 모두 사용할 수 있습니까?

아니요, 추상 메서드는 하위 클래스로 재정의해야 하고 최종 메서드는 재정의할 수 없기 때문에 추상 메서드와 함께 최종 및 정적 메서드 사용할 없습니다 .

58. 인터페이스에서 메소드를 final로 선언할 수 있나요?

아니요, 인터페이스의 모든 메서드는 추상 메서드이므로 메서드를 final 로 선언할 수 없습니다. 따라서 해당 메서드는 하위 클래스로 구현되어야 하며 final 메서드는 재정의될 수 없습니다.

59. 모든 Java 예외 클래스의 기본 클래스 이름을 지정하세요.

모든 예외의 기본 클래스는 java.lang.Throwable 입니다 .

60. 하나의 try 블록에 여러 개의 catch 블록을 만드는 것이 가능합니까?

예, 하나의 try 블록 에 대해 여러 개의 catch 블록을 만들 수 있습니다 .

61. Java 프로그램을 실행하기 위해 지정해야 하는 두 가지 환경 변수를 정의하십시오.

  1. 경로 변수.
  2. 클래스 경로 변수.

62. Java에서 소멸자를 사용할 수 있습니까?

아니요, Java에서는 소멸자를 사용할 수 없습니다.

63. 익명클래스란 무슨 뜻인가요?

Java의 익명 내부 클래스는 이름이 없으며 객체를 하나만 생성합니다.

64. 모든 스레드에 대해 구현되어야 하는 Java 메소드 이름을 지정하십시오.

Run() 메소드 .

65. Java에서 중단과 계속의 차이점은 무엇입니까?

부서지다 계속하다
특정 조건이 충족되면 루프를 종료하거나 종료하는 데 사용됩니다. 일부 조건에 따라 현재 반복에 대한 루프 실행을 건너뛰는 데 사용됩니다.
루프와 스위치 내부에서 사용할 수 있습니다. 루프 내에서만 사용됩니다.

66. Java의 문자열 풀이란 무엇입니까?

Java의 문자열 풀은 힙 메모리에 저장된 문자열 모음입니다.

67. Java에서 throw와 throws 키워드의 차이점은 무엇입니까?

던지다 던지기
명시적으로 예외를 발생시키는 데 사용됩니다. 런타임 시 메서드에서 발생할 수 있는 예외를 선언하는 데 사용됩니다.
메소드 본문 내부에서 사용됩니다. throws 키워드를 사용하면 여러 예외를 선언할 수 있습니다.
Throw 다음에는 Exception 클래스 의 인스턴스가 옵니다 . 그 뒤에는 throw될 Exception 클래스 의 이름이 옵니다 .

68. 같은 클래스의 다른 생성자 내부에서 생성자를 호출하는 것이 가능합니까?

예, 첫 번째 줄로 this()를 사용하여 다른 생성자 내에서 동일한 클래스의 생성자를 호출할 수 있습니다 .

69. Java에서 String Buffer와 String 클래스를 비교할 수 있나요?

아니요, String BufferString 객체를 비교할 수 없습니다 . 오류가 발생하기 때문입니다.

70. 상속 중에 생성자는 어떤 순서로 호출됩니까?

상위 클래스 또는 기본 클래스의 생성자가 먼저 호출된 다음 파생 클래스의 생성자가 호출됩니다.

71. 클래스 이름 외에 생성자 이름을 지정할 수 있나요?

아니요. 생성자와 클래스 이름은 동일해야 합니다.

72. 자바 패키지란 무엇입니까?

패키지는 그룹화된 클래스와 인터페이스의 모음입니다.

73. String 클래스와 StringBuffer 클래스의 차이점은 무엇입니까?

문자열 버퍼
String 클래스 는 변경할 수 없습니다. StringBuffer 클래스 는 변경 가능합니다.
StringBuffer 보다 느립니다 . String 보다 빠릅니다 .
많은 문자열을 연결할 때 더 많은 메모리를 사용합니다. 많은 문자열을 연결할 때 메모리를 덜 사용합니다.

74. Java에서 정적 메소드를 오버로드하는 것이 가능합니까?

예, 다양한 함수 시그니처를 전달하여 Java의 정적 메소드를 오버로드할 수 있습니다.

75.가비지 수집 중에 메모리의 어떤 구성 요소(스택 또는 힙)가 정리됩니까?

더미.

76.다음 중 데이터를 자주 업데이트해야 할 때 사용해야 하는 문자열 클래스는 무엇입니까?

StringBuffer 클래스는 변경 가능하므로 문자열 풀이 오버로드되지 않으므로 자주 업데이트하는 경우 사용해야 합니다.

77. Java에서 main() 메소드에 static 키워드를 사용하지 않으면 어떻게 됩니까?

컴파일 오류는 발생하지 않지만 런타임 시 NoSuchMethodError 오류가 발생합니다 .

78. return 문이 try 및 catch 블록 끝에 배치되면 finally 블록이 실행됩니까?

예, finally 블록은 예외가 있는지 여부에 관계없이 항상 실행됩니다.

79. Java 소스 파일에 많은 공개 클래스를 포함하는 것이 가능합니까?

아니요, Java 소스 파일에는 공개 클래스가 하나만 있을 수 있습니다.

80. 인터페이스가 다른 인터페이스를 확장할 수 있나요?

예, 하나의 인터페이스는 Java의 확장 키워드를 사용하여 다른 인터페이스를 확장할 수 있습니다.

81. 자바의 다양한 클래스 로더 유형에 대해 설명하세요.

  1. 부트스트랩 클래스로더

  2. 확장 클래스 로더

  3. 시스템 클래스로더

82. Java에서 삼항 연산자는 무엇을 합니까?

삼항 연산자는 Java에서 if-else 연산자를 대체하는 데 사용됩니다 . 이는 세 개의 피연산자를 포함하는 유일한 조건부 연산자입니다.

83. Java에서 가비지 수집은 무엇을 합니까?

Java 가비지 수집은 Java 응용 프로그램이 메모리에서 사용되지 않는 개체와 패키지를 제거하거나 정리하여 메모리를 자동으로 보존하는 방법입니다.

84. Java에서 기본 생성자는 어떻게 사용됩니까?

Java에서는 기본 생성자를 사용하여 개체의 데이터 멤버나 멤버 변수를 기본값으로 초기화합니다. 프로그램에 다른 생성자가 없으면 컴파일러에 의해 자동으로 생성됩니다.

85. Java에서 경로와 클래스 경로의 차이점은 무엇입니까

  1. 클래스 경로는 바이트코드 파일, 즉 .class 파일의 위치를 ​​정의합니다.
  2. 경로는 .exe 파일의 위치를 ​​지정합니다.

86. Java의 데이터 유형은 무엇입니까?

Java에는 8가지 데이터 유형이 있습니다.
  1. 짧은

  2. 바이트

  3. 정수

  4. 뜨다

  5. 더블

  6. 부울

87. Java에서 OOP의 네 가지 개념은 무엇입니까?

  1. 캡슐화.
  2. 추출.
  3. 다형성.
  4. 계승.

88. Java에서 this 키워드에 null 값을 할당할 수 있나요?

아니요.

89. Java에서 정적 블록이란 무엇을 의미합니까?

Java의 정적 블록은 클래스의 정적 변수를 초기화하는 데 사용됩니다. 클래스가 메모리에 처음 로드될 때 한 번만 실행됩니다.

90. 예외란 무엇입니까? Java의 모든 예외 클래스 정의가 포함된 패키지는 무엇입니까?

예외는 프로그램 실행 중에 발생하는 비정상적인 상황입니다. 이는 잘못된 사용자 입력이나 잘못된 인코더 논리로 인해 발생할 수 있습니다. java.lang.Exception 패키지에는 Java의 모든 예외 클래스 정의가 포함되어 있습니다.
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION