객체 지향 프로그래밍 (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 |