[JAVA] 객체지향언어

JUNSEUNG LEE·2022년 9월 22일
0

JAVA

목록 보기
2/17
post-thumbnail

객체지향언어

1. 객체지향언어의 역사

  • 초기에는 탑 다운 방식의 순차적 프로그래밍 방식을 사용 -> 코드가 길어질수록 코드 중복 발생, 유지보수가 어려워짐
  • GOTO문의 문제를 해결하기 위해 구조적 프로그래밍 방식 채택 -> 데이터 처리 방식(프로시저 실행)만 구조화, 데이터는 구조화 하지 못함
  • 대안으로 객체 지향 프로그래밍 등장 -> 객체를 만들고 독립성을 높게 만들면 객체 수정없이 재사용하기 때문에 유지보수가 쉬워짐

2. 객체지향언어

  • 객체를 만들고 서로 상호작용하도록 프로그래밍하는 언어
  • 잘 알려진 특징으로 캡슐화, 상속, 추상화, 다형성이 있음 (캡상추다)
    - 제어자(public, private 등)와 메소드로 코드 보호 <- 캡슐화
    - 기존 코드를 참고하고 새로운 것 만 추가 <- 상속, 다형성
    - 클래스를 만드는 과정 <- 추상화
  • 시뮬라67, 스몰토크, C++, 자바 등 객체지향언어 존재

3. 객체지향프로그래밍개발 단계

  1. 클래스 설계
  2. 클래스로 객체를 생성
  3. 생성된 객체를 이용

4. 잘못된 오해

  • 흔히 객체지향과 절차적을 반대의 개념으로 알고 있는데 영어 번역의 오류임
  • Procedural Programming, Procedural를 '절차'로 번역하는데, 프로시저(함수)를 뜻함
  • 둘다 명령형 프로그래밍의 일종
  • '절차지향'이라는 단어는 존재하지 않으므로 잘못된 표현
  • 절차적 프로그래밍은 함수 호출을 통해 추상화와 재사용성에 본질을 둠
profile
개발자 준승

0개의 댓글