JAVA
클래스(Class)
짱유리
2023. 12. 5. 18:45
- java에서 최소단위 프로그램의 한 종류이다.
- 클래스 내부의 구성요소는 [멤버변수], [메소드], [생성자]이다.
package 패키지명;
import 수입클래스패키지명.수입클래스명;
[public] [abstract|final] class 클래스명{
멤버변수 생성자 메소드 등등
}
키워드명 | 의미 |
package | 클래스의 소속 [묶음명]을 지정한다. 패키지란 서로 기능이 비슷하거나 관련이 있는 [클래스] 또는 [인터페이스] 들을 묶어 놓은 묶음이다. |
import | 타 패키지 소속 클래스를 객체화하여 사용할 경우 수입할 패키지명과 클래스명을 지정한다. 0개 이상 선언할 수 있다. 같은 패키지에 있는 타 클래스와 java.lang 패키지 안의 모든 클래스는 수입 코딩 없이도 자동 수입된다. 수입클래스명 대신 *를 쓰면 해당 패키지의 모든 클래스를 수입한다. |
키워드명 | 의미 |
public | 공용의, 이 클래스를 수입하면 동일한 패키지내에서는 물론 타 패키지에 있는 타 클래스에서도 다 수입가능 |
default | 동일패키지 내에서만 수입가능 접근지정자 생략시 default가 자동 삽입 |
키워드명 | 의미 |
abstract | 객체화 불가능한 불안정한 클래스 (추상클래스) 클래스내부에 바디({~})가 없는 메소드를 1개이상 갖고 있을 경우 붙임 abstract를 달고있는 부모클래스 또는 조상클래스를 상속받은 자식클래스가 부모의 불안정한 메소드를 재정의(overriding)를 해주지 않는 경우 자식클래스들 까지도 abstract를 붙인다 아니면 그냥 객체화를 막기위해 붙이기도 한다. |
final | 자식클래스를 가질 수 없는 클래스. 보안성이 높음 상속이 불가능한 클래스임을 지정하며 [종단클래스]라고도 한다. |
멤버변수( member variale == field == property )
- 데이터가 저장된다
- 동료 멤버변수 또는 동료 메소드가 공유하고싶은 데이터가 저장된다
- 코딩상 0개이상 선언가능(없어도 됨)
- 멤버변수 선언후 수동 초기화 하지않으면 자동 초기화된다
👉초기화란 변수선언후 처음 데이터를 저장하는 행위
🌈멤버변수 선언 형식
public|protected|default|private [static] [final] 기본자료형|클래스명|인터페이스명 멤버변수명[= 데이터];
키워드명 | 의미 |
public | 공용의 모든 클래스에서 수입및 호출가능 |
protected | 동일 패키지는 물론 타 패키지에 있는 상속관계 의 멤버변수를 객체화하여 불러올 수 있음 |
default | 동일클래스 내에서만 수입가능 |
private | 관용적으로 멤버변수에는 private를 붙여 직접호출을 금지한다. 멤버변수의 접근은 동료메소드를 통해서만 허락한다. |
static | 객체화된 클래스들의 멤버변수끼리 통신을 하게끔 만들어준다. |
final | 초기화 이후 갱신불가 자동초기화가 안된다. |
메소드( method )
- 실행구문이 내장되어 있다.
- 메소드에는 이름이 붙어있는데 이름을 호출하면 메소드안의 실행구문이 실행됨.(직접호출)
- 코딩상 0개이상 선언가능
🌈메소드 선언 형식
public|protected|default|private [static] [final|abstract] 기본자료형|클래스명|인터페이스명|void
메소드명([자료형 매개변수]){
실행구문;
}
키워드명 | 의미 |
public / protected / default / private | 타 클래스 내부에서 [메소드 호출가능여부] 지정 멤버변수 접근지정자와 동일 |
static | 객체 생성없이 클래스명.메소드명() 형식으로 호출가능함. |
final | 자식클래스가 메소드의 overriding 금지 |
abstract | 바디({~})가 없는 메소드에 붙는다. 실행구문이 없음. |
void | 메소드 호출후 리턴값이 없을때 쓰임 메소드 키워드로만 유일하게 붙을 수 있다. |
return | return 데이터; 메소드 중지하고 메소드를 호출한곳에 데이터를 준다. return; 실행구문 중단 return구문 생략시 메소드 중단없이 끝까지 실행 메소드 호출한곳에 데이터 주지않음. |
생성자( constructer )
- 클래스의 멤버변수나 메소드를 호출하기 위해 객체화하는데 사용된다.
이때 객체화 된 후 반드시 한번 실행할 실행구문을 내포한다 - 생성자 호출시 주로 외부데이터가 들어와서 멤버변수에 저장하는 코딩이 실행
- 생성자명은 클래스명과 동일하다
- 코딩상 0개이상이나 존재상은 1개이상
- 코딩상 0개면 기본생성자가 자동삽입됨.
🌈생성자 선언 형식
public|protected|default|private 생성자명 ( [자료형 매개변수] ) {
실행구문;
[return;]
}
키워드명 | 의미 |
public / protected / default / private | 타 클래스에서 new에 의해 객체화 하는 과정중에 생성자를 찾기/호출 여부 멤버변수 접근지정자와 동일 |
return | return 데이터; 형식으로 나올 수 없고 실행구문 중단용으로 쓰임 |