아직 면접을 보려면 멀었지만 기술 면접을 대비하는 의미로 객체지향 개념에 대해 정리해보고자 한다.
현 시점에서 객체지향은 대세 중 대세이다. 개발에 관심있는 사람이라면 한 번쯤은 들어봤을 객체지향 이지만, 개념을 정확히 이해하는 사람은 많지 않을 것이다. 객체지향에 대해 알아보도록 하자.!
그렇다면 객체 지향 언어가 등장하기 전에 사용한 언어는 무엇일까 ? 바로 절차 지향적 언어이다.
절차적 프로그래밍은 처음부터 끝까지 순서대로 작업한다.
1부터 10까지 작업을 한 후 5번에서 오류가 났을 경우 1부터 10까지 전 과정을 확인해야 한다.
즉 절차지향적 언어는 오류/수정이 자유롭지 않다.
1. 객체지향의 개념
객체지향을 설명할 때 가장 많이 드는 예시가
자전거 예시이다.
하나의 자전거가 있다고 하자,
자전거를 부품별로 나누지 않고
하나로 본다면,
핸들이 고장났을 때
자전거를 다시 장만해야하는
불상사가 발생한다.
이러한 경우를 앞서 설명한
절차지향 적인 프로그래밍이라 한다.
반대로
자전거 각각의 부품을 객체로 보고
바퀴, 몸통, 핸들, 기어 시트로 나눈다면
핸들이 고장났을 때
핸들 부분만 수리하면 된다.
이처럼 프로그램을
하나의 큰 덩어리로
보지 않고,
기능 단위의 객체로 구분지어
수정/ 재사용 하는 것이
객체지향 프로그램이다.
2. 객체지향의 3대 요소
① 캡슐화 / 은닉화
캡슐화 : 상호 연결이 가능
public void setA(int a){}
은닉화 : 상호 연결이 안됨
private int a;
② 상속 / 포함
재사용을 목적으로 함.
포함(has-a) : 변경없이 사용
상속(is-a) : 변경해서 사용
③ 다형성
수정과 추가가 가능한 다형성은
오버로딩과 오버라이딩에 대한 개념을
확실하게 하면 이해할 수 있다.
오버로딩
새로운 기능 추가
new
오버라이딩
기존의 기능 변경
modify
3. 객체지향 클래스의 구성요소
=오버로딩
=오버라이딩
4. 객체지향의 확장과 재사용
extends : 상속 (단일 상속)
포함 : 있는 그대로 (spring) 독립적으로 사용
5. 객체지향의 종류
절차지향 프로그램 : C, COBOL, FORTRAN
객체지향 프로그램 : C++, JAVA, PHYTON
'JAVA' 카테고리의 다른 글
JAVA_자바 클래스 작성법 (규칙 및 구성요소) (0) | 2022.05.27 |
---|---|
JAVA_자바 메서드_구구단 출력하기 (0) | 2022.05.25 |
JAVA_자바 클래스명은 소문자? 대문자? 영문? (0) | 2022.05.25 |
JAVA_이클립스 자바 단축키_자동 완성 기능 (0) | 2022.05.20 |
java_자바를 배우기 시작하다 (0) | 2022.05.13 |