본문 바로가기
코딩하는 코커두드/자바, 스프링 백엔드 과정

Day 10 _ 본격 객체지향 학습 (기초편)

by 코커두드 2023. 4. 24.

1. 클래스와 객체

(1) 클래스 : 객체를 정의한 설계도로 객체를 생성하는 데 사용 ex) 붕어빵 틀

(2) 객체 : 클래스를 통해 만들어진 것 ex) 붕어빵

- 구성요소 : 속성과 기능

- 속성은 필드, 기능은 메서드로 정의됨

 

- 속성(필드) : 이름(name)과 직업(job)은 String 타입으로, 레슨비(lesson_fee)는 int 타입으로, 고양이 반려 여부(cat_feeder)은 boolean 타입으로 정의하였다.

String name;

String job;

int lesson_fee;

boolean cat_feeder;

- 기능(메서드) : 화가날 때(angry)와 피곤할 때(tired)를 메서드로 정의하였다.

 

2. 생성자

(1) 생성자의 조건

- 생성자의 이름은 반드시 클래스의 이름과 같을 것

- 생성자는 리턴 타입이 없음. void 키워드를 사용하지 않음

 

(2) 기본 생성자와 매개변수가 있는 생성자

- 기본 생성자 : 매개변수가 없는 생성자

- 매개변수가 있는 생성자 : 매개변수를 통해 호출 시 값을 받아 인스턴스를 초기화함

 

(3) this와 this()

- this() 메서드

  -> 반드시 생성자의 내부에서만 사용

  -> 반드시 생성자의 첫 줄에 위치

- this 키워드

  ->  인스턴스 변수와 매개변수를 구분하기 위한 용도로 사용

 

(4) 생성자 예시

- 객체 생성 : new 키워드를 통해 객체를 생성할 수 있다.

  -> new : 생성된 객체를 힙 메모리에 넣어라

  -> IntroduceMyself m1 = new IntroduceMyself();

  -> new 키워드와 생성자 IntroduceMyself()로 객체를 생성한 후, 해당 객체를 힙 메모리에 넣고 그 주소값을 참조변수 m1        에 저장하라

 

- 객체 멤버에 접근 : 포인트연산자(.)를 통해 접근이 가능하다.

- 아래는 위의 필드와 메서드를 선언한 후 출력한 결과이다.

3. 이너클래스

 

 

* 이해의 속도가 더딘 날이 바로 오늘이었다. 그저 열심히 해야겠다는 생각만 가득 들었다.

* 체력 관리가 절실해서 아침마다 런닝을 하기 시작했는데, 주 3회의 3회차를 달성한 날이다. 다른 분들은 어떻게 체력관리를 하는지 궁금하기도 하다.