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

블로그 메뉴

  • 홈
  • 태그
  • 방명록

티스토리

공지사항

인기 글

최근 댓글

최근 글

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

초보 개발자의 기록

4.4 객체지향프로그래밍(OOP)
교육과정 기록/☕ Java

4.4 객체지향프로그래밍(OOP)

2022. 4. 5. 00:37

객체 지향 프로그래밍 (OOP) 

Object Oriented Programming

부품 객체를 먼저 만들고 이것들을 하나씩 조립해 완성된 프로그램을 만드는 기법

 

 

*객체간의 관계

- 객체 지향 프로그램에서, 객체는 다른 객체와 관계를 맺음

- 관계의 종류 --> 집합 관계 / 사용 관계 / 상속 관계

 

*객체 지향 프로그래밍의 특징

1. 캡슐화 - 정보은닉과 관련

 

2. 상속 - 상위 객체의 '필드와 메소드'를 하위 객체에게 물려주는 행위

  --> 재사용으로 개발 속도 ↑ / 중복 ↓ / 유지 보수 편리 / 객체의 다형성 구현

 

3. 다형성 - 같은 타입이지만 실행 결과가 다양한 객체를 대입할 수 있는 성질

  --> 객체를 부품화시키는 것 가능 / 유지보수 용이

 

 

(1) 붕어빵 틀(클래스) --> 붕어빵(인스턴스 == 객체)

 

(2) 클래스 --> 객체의 설계도 (건축도면 or 조선도면)

 

(3) 클래스에서, 객체(붕어빵)를 찍어내는 과정

   --> "인스턴스화(Instantiation)" --> "인스턴스(Instance) " : "객체(Object)" 생성

(인스턴스는 과정 중심, 객체는 결과 중심의 단어)

 

(4) 다형성(Polymorphism) : 상속을 전제로 한다

  --> 같은 타입의 객체가 같은 행위를 했을 때, 그 결과가 다르게 나오는 것

             

               <동물> : 소리발산 

 

<강아지>  <고양이>  <돼지>

                                         멍멍          야옹        꿀꿀           --> 다 다른 소리를 냄 

 

(5) 무결성 : 결함이 없는 성질 = 일관성 + 정확성

 

***(6) 다형성의 전제조건 : 부모/자식 상속관계 형성***

 

class Parent {
    소리발산() {}
},    
class Child extends Parent {}

Parent parent = new Child();  --- 다형성-1

 

 

new 생성자이름();

* new 연산자 = "객체생성연산자"

1. JVM RDA HEAP에 새로운 객체를 생성

2. 뒤에 지정된 "생성자" 호출 --> 새로운 객체의 필드를 초기화

3. 초기화까지 끝낸, 사용가능한 객체의 주소(번지수)를 반환(return)

 

* 객체의 주소(번지수) = 객체의 reference(참조)

 

 

Class의 구성 멤버

클래스 내에서 변수가 정의되면 필드라고 부른다.

생성자의 이름은 무조건 클래스 이름과 같아야한다.

 

'교육과정 기록 > ☕ Java' 카테고리의 다른 글

4.5~4.6 OOP와 클래스  (0) 2022.04.07
자바빈즈 클래스 ( java beans class)  (0) 2022.04.06
4.1 열거타입  (0) 2022.04.02
4.1 배열  (0) 2022.04.01
3.31 배열  (0) 2022.04.01
    '교육과정 기록/☕ Java' 카테고리의 다른 글
    • 4.5~4.6 OOP와 클래스
    • 자바빈즈 클래스 ( java beans class)
    • 4.1 열거타입
    • 4.1 배열
    춘식이왔엉
    춘식이왔엉
    개발 공부를 하면서 정리하는 블로그입니다.

    티스토리툴바