개발자에게 꼭 필요한 것 중 하나인 Object-Oriented '객체지향'
요즘 거의 모든 언어들이 객체지향인 경우가 많다.
'절차지향'이 속도가 더 빠른 경우도 있으니, 그때 그때 상황마다 다름
프로젝트 시 분야를 나눠 함수를 기준으로 나누고 합쳐 쌓아올리는 것을 'Top-down' 방식
큰 것에서 작은 것으로
전체를 합쳐야지만 작동하는지 알 수 있어 단점
: 코드 전체가 완성되지 않으면 동작을 제대로 구현하지 못 한다.
: 하나의 기능 수정 시 모든 코드를 점검해야 한다.
기능과 변수, 함수, 데이터로 객체를 기준으로 나눈 방식 'Bottom-up'
사용자 객체
데이터 : 아이디, 비밀번호, 자기 소개 등
기능 : 로그인, 친구 추가, 게시글 작성 등
객체지향의 장점은 기능이나 데이터에 변화가 있어도 관련 객체만 신경을 쓰면 되니 편리
단점은 설계가 어렵고 단순한 경우는 불필요, 컴퓨터 과부화 등