※ 본 글은 아래 도서를 공부한 후 정리한 내용입니다.
📚 스프링 입문을 위한 자바 객체지향의 원리와 이해
1. 절차적 프로그래밍은 goto를 사용하지 말자로 표현할 수 있다.
- 스파게티 코드 방지
- 자바에서는 goto문 사용을 금지 -> goto를 이용한 이동은 프로그램을 논리적으로 잘 구성하면 피할 수 있다.
2. 구조적 프로그래밍은 함수 사용을 말한다.
- 중복 코드를 한곳에 모아 관리
- 논리를 함수 단위로 분리해서 이해하기 쉬운 코드 작성
3. 객체 지향 프로그래밍은 절차적/구조적 프로그래밍에 기반한다.
- 절차적/구조적 프로그래밍에서 goto문은 제어 흐름을 이동시키는 용도, 함수는 중복 코드 제거, 논리 분할 용도
- 객체지향에서 메서드는 함수 역할
- 객체 지향 프로그래밍에서 제어문은 메서드 안에서 존재
4. 함수 = 메소드
- 다른점은 함수는 클레스, 객체와 아무 관계가 없고, 메서드는 반드시 클래스 정의 안에 존재해야 한다는 점이다.
즉, 객체 지향 언어에서 절차적/구조적 프로그래밍의 유산은 메서드에서 확인할 수 있다.