OOP
절차지향 프로그래밍
순서대로 작성
필드 → 캐릭터 → 전투 수행
객체지향 프로그래밍
개체를 코드로 모델링
필트 + 캐릭터 → 전투 수행
객체지향 프로그래밍 특징
추상화: 객체들의 공통 속성/메서드 정의
클래스 선언 자체가 추상화
상속: 하나의 클래스가 가진 속성/메서드를 다른 클래스가 상속 받음
재사용성 증가 = 생산성 증가
캡슐화: 구현부 은닉
다형성: 다른 방법으로 동작하는 함수를 동일한 함수명으로 호출
오버라이딩: 부모 클래스의 메소드와 같은 이름 및 매개변수를 갖는 코드 재정의
오버로딩: 함수 이름은 같지만 매개변수가 다른 함수를 정의
객체지향 프로그래밍의 장점
상속, 다형성으로 재사용성 증가
객체를 기준으로 코드 작성
캡슐화로 구현부를 은닉해 보안성이 높음(변수 접근은 getter, setter)
추가적인 메모리 요구로 속도가 느릴 수 있음
절차지향
객체지향
언어
C
Java, Python
속도
상대적으로 빠름
상대적으로 느림
Last updated