-
728x90반응형
클래스
서로 관련있는 멤버(변수 및 메서드 등)의 집합
접근 제한자가 public인 클래스의 이름은 해당 클래스가 위치하는 파일의 이름과 같아야 한다.
명명법: 파스칼 케이스
클래스의 구조[접근 제한자] [abstract|final]? class [클래스 이름] [extends 부모 클래스]? [implements 인터페이스,...]? { [멤버...] }
abstract : 해당 클래스를 추상 클래스로 지정
final : 해당 클래스를 최종 클래스로 지정하고 더 이상 상속할 수 없는 대상으로 지정.
extends : 상속받을 클래스 한 개를 지정
implements : 구현할 인터페이스 한 개 이상을 지정객체(Instance)
객체화 연산(new)을 통해 참조 타입이 객체화된 대상을 의미
생성자(Constructor)
클래스가 객체화될 때 반드시 실행되는 일종의 메서드
클래스 객체화 연산(new)시 타입 뒤에 적는 괄호(())는 생성자 호출이다.String str = new String("Hi"); // 생성자 호출
생성자의 구조
[접근 제한자] [클래스 이름] ([매개 변수, ...]){ [구현부] }
- 생성자의 이름은 반드시 클래스의 이름과 일치해야 한다.
- 생성자는 추상적(abstract)이거나 최종적(final)이거나 정적(static)일 수 없다.
- 반환 타입을 명시하지 않는다.
- 객체화 연산 외에는 임의로 호출할 수 없다.
- 생성자 구현부의 첫 구문은 반드시 부모 클래스의 생성자 호출(super(...))이거나 자신 클래스의 생성자 호출(this(...))이어야 한다.기본 생성자
클래스를 만들 때 별도의 생성자를 명시하지 않을 경우 항상 생략되어 존재하는 생성자이다.
기본 생성자의 구조public [클래스 이름](){ super(); }
패키지(Package)
- 클래스를 포함한 구성요소를 종류별, 목적별로 분류하기 위한 디렉토리(Directory) 구조이다.
- 명명법 : 카멜 케이스 혹은 스네이크 케이스 혹은 단순 소문자 이어쓰기 등, 회사나 개발 환경에 따라 다름.접근 제한자(Access Modifier)
- 어떠한 대상으로 하여금 이에 접근할 수 잇는 범위를 제한하기 위해 사용
- public : 접근을 제한하지 않음
- protected : 같은 패키지 경로를 가지거나, 상속 관계에 있는 대상으로 접근을 제한
- (default) : 같은 패키지 경로를 가지는 대상으로 접근을 제한한다. 단, 실제로 default라는 키워드를 적는 것이 아닌 접근 제한자를 생략하는 것이다.
- private : 동일 클래스 내에서만 접근을 허용한다.상속(Inheritance)
- 어떠한 클래스가 다른 클래스로 하여금 다른 클래스의 기능을 그대로 물려받아 새로운 기능을 확장시키기 위해 사용
- 어떠한 클래스에게 상속받을 클래스를 명시하지 않을 경우 모든 클래스는 자동으로 Object(java.lang.Object) 클래스를 상속받는 것으로 한다.
- 최종(final)으로 명시된 클래스는 상속 대상일 수 없다.
- 다중 상속 관계는 허용되지 않으며 반드시 한 개의 클래스만 상속받아야 한다.
- 순환 상속 구조를 가질 수 없다.728x90반응형'Java' 카테고리의 다른 글
Java 유용한 클래스 - 1, java.util.Objects 클래스 (1) 2024.02.26 Java 래퍼 클래스(Wrapper Class) (0) 2024.02.26 Java java.lang - 3, Math 클래스 (1) 2024.02.25 Java java.lang - 2, String 클래스 (1) 2024.02.25 Java java.lang - 1, Object 클래스 (1) 2024.02.25