클래스의 종류
- Main Class : main method를 갖고 있는 클래스
- Built-in Class (=내장 클래스) : Java에서 미리 만들어둔 클래스, jdk설치 시 생성됨 ex) System, Scanner, Math, Exception, ...
- Custom Class : 개발자가 직접 만든 클래스
클래스와 객체
- 클래스
① 자바 프로그램에서 작성된 자바 파일
② 자바 파일이 컴파일되고 빌드된 파일
- 객체
① 클래스②가 RAM에 자리잡은 형태
② 소스코드가 컴파일 된 클래스는 RAM에서 자신의 영역(=주소)에 위치하는데, 이렇게 자리 잡은 전기 신호 영역과 구조를 클래스라고 한다(1개만 만들어짐)
③ 클래스를 객체로 만든다는 것은 객체②에서 만들어진 클래스를 사용하여 동일한 영역과 구조를 만드는 것을 의미한다
👩💻 커스텀 클래스
커스텀 클래스의 구성 요소
- 필드(field) : 클래스 레벨의 변수
- 생성자(constructor) : 필드를 초기화하고 객체 생성
- 커스텀 메서드(custom method) : 필드에 저장된 데이터를 사용하여 필요한 기능을 만듦
생성자(Constructor)
- 클래스의 객체를 만들고 필드에 값을 초기화
- 생성자명은 반드시 클래스명과 동일해야 함
- 생성자를 만들지 않으면 디폴트 생성자가 자동으로 만들어짐
(디폴트 생성자 : 매개변수가 없는 생성자)
- 생성자의 매개변수 기재 시 일반적으로 필드와 동일한 매개변수를 기재
- 생성자 내부에 코드 기재 : this.필드명 = 매개변수명;
- 반환값 존재하지 않음
생성자 기본 형식
수식어 생성자명(매개변수) {
코드묶음;
}
디폴트 생성자
수식어 생성자명( ) {
코드묶음;
}
커스텀 클래스 사용 방법
-
커스텀 클래스 생성
-
필요한 클래스에서 커스텀 클래스의 객체 생성
객체 생성
new 클래스명(인수);
객체 참조
클래스명 객체변수명 = new 클래스명(인수);
-
생성된 객체 참조하여 사용
필드 참조
변수명.필드명;
메서드 참조
변수명.메서드명();
ex 1)
ex 2)
메인클래스 : 입력, 필드에 저장할 데이터 전송
→ 커스텀클래스 : 전송된 데이터 필드에 저장, 필드에 저장된 값을 커스텀메서드를
사용하여 처리할 기능 구현 (커스텀메서드 메인메서드에서 참조)
→ 메인클래스 : 커스텀메서드에서 처리 완료된 데이터를 메인메서드로 반환하여 출력