JAVA는 객체지향 언어이다. 이 말은 하도 많이 들어서 그냥 외우고 있는 JAVA의 특징이었다.
여기서 객체지향이란 뭘까?
객체지향이란, 실세계를 '객체'라는 단위로 나누어 생각하는 것을 말한다.
객체 = 속성 + 동작
속성 : 멤버변수, fleid, property, attribute
동작 : 함수, method, function, 기능
|
객체지향 언어의 예시로는 JAVA, C#, Python 등이 있다.
객체지향 언어의 특징
1. "설계" 2. 문제를 '객체' 단위로 처리 3. 객체가 많아지고 설계가 복잡해지면 속도가 상대적으로 느려질 수 있음 ( +용량도 커짐) 4. 변화 대처에 용이 5. 유지보수 용이 ( = 재사용하기 좋음) 6. 코드 재사용성 높음 |
객체지향 언어는 유지보수가 용이하기 때문에 웹 프로젝트와 같은 대부분의 대형 프로젝트에서 많이 채택된다.
[ 객체지향언어 4가지 특징 ]
1. 캡슐화
ex)알약
코드의 내용이 외부로부터 보호되어 있어서 코드내용을 다 몰라도 기능을 사용할 수 있다.
해당 객체의 기능을 ★"어떻게"★ 사용하는지만 알면 기능을 활용할 수 있다는 특징.
2. 상속
부모(상위) 클래스의 내용을 자식(하위) 클래스가 extends(상속)하면
자식이 별도로 정의하지 않아도 부모의 내용을 모두 사용할 수 있다는 특징.
※ 코드를 ctrl C, V 하면 문제가 발생
1. 변화가 발생하면 문제도 따라서 발생할 확률이 높아짐== 유지보수 불리
2. 코드가 너무 길어짐 == 가독성 떨어짐
3. 추상화
실세계의 대상, 현상, 과제, 프로젝트 등을 객체로 나누는 과정 (== 설계)
4. 다형성
★ 다형성이 일어날 수 있는 이유 ★
함수를 실행하는 주체가 객체이기 때문에 가능하다.
add(10, 20) vs calc.add(10.20)
jump(마리오, 10) vs 마리오.jump() >> 10
jump(마리오, 20) 루이지.jump() >> 20
강아지.울음소리() 멍멍
고양이.울음소리() 야옹
'JAVA' 카테고리의 다른 글
JAVA 함수를 이용해서 학생부 프로그램 만들기 (0) | 2024.07.01 |
---|---|
JAVA 함수 (0) | 2024.06.28 |
반복문과 배열 예제 풀이 (0) | 2024.06.27 |
디버깅표를 이용한 이중for문 - 별찍기 (0) | 2024.06.27 |
JAVA 코드를 통해 생성자 이해하기 (0) | 2024.06.22 |