JUST GO

[공통] 클래스 본문

Java/학습내용

[공통] 클래스

root_go 2022. 10. 11. 11:43

클래스

  • 명명법 : 파스칼 케이스
  • 클래스(Class)는 서로 관련있는 멤버(Member)를 묶어내기 위해 존재하는 참조 타입(Reference Type)인 객체 단위이다.
  • 자바 파일 (.java) 은 반드시 접근 제한자가 'public'인 파일 이름과 같은 이름을 가지는 구성 요소를 요구한다.
  • 멤버(Member) : 어떠한 클래스가 가질 수 있는 구성요소 전체를 아울러 의미한다. 가령, 멤버 변수나 메서드 등이 멤버에 해당한다.
  • 구조
[접근 제한자] [abstract|final]? class [클래스 이름] [extends [상속할 클래스 이름]]? [implements [구현할 인터페이스 이름,...]]? {
}
  • [접근 제한자] : 해당 클래스에 접근할 수 있는 대상을 제한한다.
  • abstract : 해당 클래스가 추상적이게 된다. 추상 클래스는 최종적일 수 없다.
  • final : 해당 클래스가 최정적이게 된다. 더 이상 해당 클래스를 상속 받을 수 없다는 뜻이며, 최종 클래스는 추상적일 수 없다.
  • extends : 상속 받을 클래스를 지정한다. 생략 시 Object 클래스를 상속 받는다. 자세한 것은 해당 문서 '상속' 부분 참고.
  • implements : 구현할 인터페이스를 한 개 이상 지정한다. 생략시 구현하는 인터페이스가 없다. 자세한 것은 '인터페이스' 문서  참고.
public class Main {
]
  • 위 Main 클래스에 대한 설명
    • 위 Main 클래스의 접근 제한자는 public 이다.
    • 위 Main 클래스는 추상적이지 않다.(abstract 가 아님)
    • 위 Main 클래스는 최종적이지 않다.(final 이 아님)
    • 위 Main 클래스의 이름은 당연히 'Main'이다.
    • 위 Main 클래스는 object 클래스를 상속 받는다.
    • 위 Main 클래스는 구현하는 인터페이스가 없다. 
  • 클래스가 추상적이라고 하더라도 반드시 추상 메서드를 가져야 하는 것은 아니다.
  • 추상 클래스는 일반적인 방식으로 객체화 할 수 없다.

생성자

  • 생성자(Constructor)어떤 참조 타입이 객체화 되기 위해 반드시 한 번 실행되어야 하는 일종의 메서드이다. 단, 일반 메서드와 달리 반환 타입이나 별도의 이름이 없다.
  • 생성자 호출이 완료되기 전 까지는 해당 객체가 완전히 객체화되었다고 할 수는 없다.
  • 생성자 내의 첫 구문은 반드시 '자기 생성자 호출'(this...) 혹은 '부모 생성자 호출'(super...) 둘 중 하나여야 하며, 이가 아니거나, 둘 다 일 수는 없다.
  • 구조
[접근 제한자] [클래스 이름] ([매개 변수,...]?){
}
  • 클래스 내에 생성자를 별도로 만들지 않는다면 항상 기본 생성자(Default Constructor)가 있는 것이다. 기본 생성자는 아래와 같다.
public [클래스 이름](){
	super();
}

'Java > 학습내용' 카테고리의 다른 글

[공통] 연산자  (0) 2022.10.12
[공통] 타입  (0) 2022.10.11
[공통] 변수와 상수  (0) 2022.10.11
[공통] 메서드  (0) 2022.10.11
[공통] Java  (1) 2022.10.11