41. Package (패키지)
사용자에게 유용한 특정 기능을 수행하도록 설계된 컴퓨터 프로그램이나 프로그램 집합(java의 rt.jar 등)
같은 특징과 특성를 갖는 Class 묶음
프로그래밍에서 여러 클래스, 인터페이스 및 기타 리소스를 논리적으로 그룹화하는 방법
ex) package com.example.mypackage;
42. Method Signature (메서드 시그니처)
Method 이름과 매개변수 리스트의 조합
메서드를 정의할 때 메서드의 이름과 매개변수의 유형을 말한다. 메서드 시그니처는 메서드의 식별자로 사용되며 메서드 호출 시에 어떤 메서드를 호출할지를 결정하는 데 사용된다.
43. Public 접근 제어자
외부 클래스가 자유롭게 사용할 수 있음
해당 멤버가 모든 클래스에서 접근 가능하다. 어떤 클래스에서든 해당 멤버를 읽을 수 있고 변경할 수 있다.
44. Private 접근 제어자
소유자만 사용. 외부 접근 제한
해당 멤버가 속한 클래스 내부에서만 접근 가능하다. 다른 클래스에서는 해당 멤버에 접근할 수 없다.
45. Protected 접근 제어자
같은 패키지 혹은 자식 클래스에서 접근 가능
해당 멤버가 속한 클래스의 하위 클래스에서 접근 가능하다. 또한 동일한 패키지에 속한 다른 클래스에서도 접근 가능하다.
46. Static
클래스로 생성된 인스턴스들이 모두 공유하는 속성, 행위
클래스의 멤버(변수 또는 메서드)를 클래스 수준의 멤버로 만들어 객체의 인스턴스와는 관계없이 사용할 수 있다. 클래스가 로딩될 때 메모리에 할당되며, 모든 인스턴스가 이를 공유한다.
47. Final
변수, 메서드 또는 클래스에 사용될 수 있다.
Class에 사용하면 상속할 수 없는 마지막 Class, 변수에 사용하면 변하지 않는 최종 변수(상수)
메서드에 사용하면 하위 클래스에서 오버라이딩할 수 없음을 나타낸다.
48. Abstract Class
하위 Class에 구체적으로 생성(오버로딩 강제), 인스턴스 생성 불가능
추상 클래스는 객체를 직접 생성할 수 없는 클래스로, 하나 이상의 추상 메서드를 포함할 수 있다.
추상 메서드는 선언만 되고 구현은 하위 클래스에서 이뤄져야 한다. 추상 클래스는 객체의 공통된 특성을 나타내기 위해 사용된다.
49. Interface
Abstract Method만 존재하는 Pure Abstract Class
추상 메서드의 집합을 정의하며, 클래스가 특정한 메서드들을 구현하도록 강제한다. Java에서 다중 상속을 지원하기 위한 주요 메커니즘 중 하나이다. Interface에서의 모든 메서드는 암시적으로 public이며, 추상 메서드로 간주된다. 변수는 상수(final)로 취급된다.
50. Global Variable (전역변수)
클래스 영역 내부에 선언되며 어느 위치에서든 호출하면 사용이 가능한 변수
프로그램 전체에서 접근할 수 있는 변수
클래스 내부에서 선언된 변수 중 static 키워드로 선언된 변수나 클래스 내 메서드 외부에서 선언된 변수들이 전역 변수에 해당하며, 해당 클래스의 모든 인스턴스에서 공유된다.