춘식이왔엉
초보 개발자의 기록
춘식이왔엉
  • 분류 전체보기
    • ElasticSearch
    • ETL
    • 네트워크
    • 교육과정 기록
      • 🎨UI구현
      • 💻back-end
      • Java Script
      • jQuery
      • 💾DB & SQL
      • ☕ Java
      • 🧇 Python
      • 🪀알고리즘
    • 📘에러 노트
    • git
    • 자유로운 이야기
      • 📚자격증
      • 🏋️‍♂️운동 기록

블로그 메뉴

  • 홈
  • 태그
  • 방명록

티스토리

공지사항

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
춘식이왔엉

초보 개발자의 기록

4.5~4.6 OOP와 클래스
교육과정 기록/☕ Java

4.5~4.6 OOP와 클래스

2022. 4. 7. 00:45

클래스의 구성 멤버

- 필드

- 생성자

- 메소드

 


<클래스 멤버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
    '교육과정 기록/☕ Java' 카테고리의 다른 글
    • for문을 이용해 별찍기 [별피라미드]
    • 4.8 OOP - 싱글톤 / final / 패키지
    • 자바빈즈 클래스 ( java beans class)
    • 4.4 객체지향프로그래밍(OOP)
    춘식이왔엉
    춘식이왔엉
    개발 공부를 하면서 정리하는 블로그입니다.

    티스토리툴바