열심히 끝까지
19강 클래스에 대하여 - 객체지향언어 본문
19-1 ) 객체지향 언어
(1) 객체지향 언어의 정의
: 객체지향 언어란, 현실에 존재하는 사물과 개념들을
소프트웨어적으로 구현하고
그 구현된 객체들이 상호작용하여 데이터를 처리하는 방식
: 객체를 지향하는 언어
: 객체란? - 독립적으로 존재할 수 있는 것
ex) 고양이, 강아지
: 독립적으로 존재할 수 없는 것은 객체가 아님
-> 고양이 꼬리...나 발만....돌아다니는 것;;;
: 객체를 지향한다?
: 코드를 객체화하여 독립적으로 존재할 수 있도록 한다.
: 각각의 코드를 독립적으로 존재하게 만들어 그 코드를
다른 곳에서도 사용 가능하게 만들기 위함
------------------------------------
*) 절차지향 언어
: 명령을 순서대로 처리하는 방식
: 필요하다고 해서 그 부분만 가져오는 것이 불가능한 것
: 객체지향 언어랑 다르다.
(2) 객체지향 언어의 목적
: "코드의 재사용!!"
(3) 객체지향 언어의 특징
1. 추상화
: 공통적인 특징을 모아 놓은 것
ex) 택시, 버스 BMW
공통적인 특징 : 바퀴가 있다.
핸들이 있다.
엑셀을 밟으면 앞으로 나간다.
와이퍼가 있다.
.....
==> 이 공통적인 특징을 "자동차"라고 추상화해 놓고
하위들이 이 특징을 사용
2. 상속
: 부모의 것을 자식이 받아오는 것
: 자동차가 부모, 자식이 택시, 버스, BMW
: 택시랑 버스, BMW가 자동차를 상속받는다.
: 이 들은 상속관계에 있다
: 추상화해놓은 것들을 재사용하기위한 방법으로 상속을 사용
3. 캡슐화
: 사용하는 사람은 기능만 알면 된다.
-> 캡슐 안에는 어떤 것이 있는지 알 필요가 없다.
ex ) A성분과 B성분과 C성분이 있는 약을 주세요(X)
-> 감기약 주세요(O)
: 어떤 성분으로 감기가 낫는지는 필요없음
: 그냥 먹고 낫는다.
: 왼쪽으로 틀면 왼쪽으로 가고 오른쪽으로 틀면 오른쪽으로 간다
와 같은 이런 성분은 그냥 따질 필요 없이 기본 기능으로 가진다.
4. 다형성
: 같은 모양을 갖고 있으나 다른 의미를 갖고 있는 것
ex ) 타는 배, 먹는 배, 사람 배 <- 배의 여러가지 의미
동물의 소리내기 기능(추상화) - "으앙"이라고 정의
ㄴ> (캡슐화랑 다름)자식이 같은 소리내기를 받아내더라도
고양이, 개, 닭의 소리내기는 다르다.
개 - "멍멍"
-> 이 것이 바로 다형성이다
: 1) 메서드 오버로딩(Over loading)
- 함수의 중복정의(중복 메모리 저장)
- 메서드의 시그니처
> 메서드명
> 매개변수 개수
> 매개변수 타입
2) 메서드 오버라이딩(Over Riding)
- 함수의 재정의
> 부모-자식관계 성립
ex) 동물(추상화) 소리내기 - 으앙
강아지(자식) 소리내기 - 멍멍
으로 다시 정의 내려주기
'멘토씨리즈 JAVA' 카테고리의 다른 글
21강 클래스에 대하여 - 인스턴스 변수와 클래스 변수 (0) | 2022.04.29 |
---|---|
20강 클래스에 대하여 - 클래스와 객체 (0) | 2022.04.28 |
18강 배열 - 메서드 오버로딩 (0) | 2022.04.27 |
17강 배열 - 메서드 / 접근제한자 리턴타입 매개변수 (0) | 2022.04.27 |
16강 배열 - 연습 / 카페주문 프로그램 제작 (0) | 2022.04.26 |