
클래스의 구성 멤버
- 필드
- 생성자
- 메소드

<클래스 멤버1>
필드
*내용*
- 객체의 고유 데이터 (속성)
- 객체의 현재 상태 데이터
- 객체가 가져야 할 부품 객체
*선언*
타입 필드 (= 초기값) ;
String model = "제네시스";
*기본 초기값*

*사용*
필드 사용 위치가
객체 내부 - "필드이름" 으로 바로 접근
객체 외부 - "변수.필드이름"
<클래스 멤버2>
생성자
new 연산자에 의해 호출되어 객체의 초기화 담당
new 클래스();
- 필드의 값 설정
- 메소드 호출해 객체를 사용할 수 있도록 준비하는 역할 수행
*선언*

- new 연산자로 객체 생성시, 개발자가 선언한 생성자 반드시 사용
- 생성자 선언을 생략하면 컴파일러가 기본 생성자 추가
(public) 클래스() { }

*필드 초기화*
-초기값 없이 선언된 필드는 객체가 생성될 때 기본값으로 자동 설정
-다른 값으로 필드 초기화하려면?
1. 필드 선언할 때 초기값 설정
2. 생성자의 매개값으로 초기값 설정
( 매개 변수와 필드명 같으 경우 this 사용 )
*생성자 오버로딩*
매개변수의 타입, 개수, 순서가 다른 생성자를 여러 개 선언
--> 생성자 간의 중복된 코드가 발생
-- 단순화하려면? --
1. 초기화 내용을 한 생성자에 몰아 작성
2. 다른 생성자는 초기화 내용을 작성한 생성자를 this()로 호출
<클래스 멤버3>
메소드
- 객체의 동작(기능)
- 호출해서 실행할 수 있는 중괄호 { } 블록
- 메소드 호출하면 중괄호 { } 블록에 있는 모든 코드들이 일괄 실행

객체와 객체 간에 상호작용의 수단
--> 객체의 "메소드 호출"
메소드 *리턴 타입
- 메소드 실행된 후 리턴하는 값의 타입
- 메소드는 리턴값이 있을 수도 있고 없을 수도 있음
메소드 *매개변수 선언
- 매개변수는 메소드를 실행할 때 필요한 데이터를 외부에서 받기 위해 사용
- 매개변수 또한 필요 없을 수도 있음
*리턴문
- 메소드 실행을 중지하고 리턴값 지정하는 역할
리턴값이 있는 메소드 --> 반드시 리턴문 사용해 리턴값 지정
리턴값이 없는 메소드 --> 메소드 실행을 강제 종료 시키는 역할
*메소드 호출
클래스 내부 - 메소드 이름으로 호출
클래스 외부 - 객체 생성 후, 참조 변수를 이용해 호출

*메소드 오버로딩
클래스 내에 같은 이름의 메소드를 여러 개 선언하는 것
-Why?
하나의 메소드 이름으로 다양한 매개값 받기 위해
-조건?
매개변수의 타입, 개수, 순서가 달라야 함
🍄예제 1🍄
현실세계의 "전자계산기" 객체를 모델링하여, 그 기능을 도출하고,
도출된 기능(행위)을 메소드로 선언해보기


🍄예제 2🍄
향상된 계산기 만들기


'교육과정 기록 > ☕ Java' 카테고리의 다른 글
| for문을 이용해 별찍기 [별피라미드] (0) | 2022.04.11 |
|---|---|
| 4.8 OOP - 싱글톤 / final / 패키지 (0) | 2022.04.08 |
| 자바빈즈 클래스 ( java beans class) (0) | 2022.04.06 |
| 4.4 객체지향프로그래밍(OOP) (0) | 2022.04.05 |
| 4.1 열거타입 (0) | 2022.04.02 |