■ 패러다임
프로그래밍할 때 가지고 있는 시스템, 관점, 프레임워크
.
.
.
■ 개체란 무엇입니까?
-복잡한 데이터 유형
– 내가 만드는 나만의 새로운 데이터 타입
-처음부터 만드는 나만의 도구
.
.
.
클래스와 객체
■ Class : 실물을 제작하기 전 설계도면
■ 객체: 클래스에 따라 실제로 메모리에 할당되는 것.
– 클래스는 다른 개체를 만들 수 있습니다.
.
.
.
.
.
.
객체지향 프로그래밍의 특징
*** 암기 – 상추로 암기하세요!
.
.
.
.
■ 추상화
공통 특징만 추출하여 초안(프레임) 생성
.
-객체에서 공통 속성(필드, 데이터)과 행위(로직, 메소드)를 추출하는 기법
– 상세정보는 무시하고 필요한 정보만 압축하여 구성
– 코드에서 구현 부분(로직)을 제외한 선언 부분만 디자인
.
.
.
.
■ 캡슐화
.
.
ㄴ 내부 로직이 명확하지 않더라도 public 메소드 이름으로 사용(정보은닉)
.
.
– 관련 필드(속성)와 메소드(함수)를 연결하여 실제 구현 내용을 외부에 숨기는 기술(정보은닉)
– 긴급 상황에서 사용자가 조작할 수 없도록 특정 속성 또는 메서드를 숨김(타인에 의한 외부 조작)
– 공개 메소드(함수) 인터페이스를 통해 외부에서 접근할 수 있습니다.
.
.
.
.
■ 상속
.
– 이미 생성된 클래스(슈퍼클래스)의 속성을 그대로 가지고 새로운 클래스(서브클래스)를 생성하는 기법
–기존 코드를 있는 그대로 재사용 또는 덮어쓰기 -> 재사용 + 확장
.
.
.
■ 다형성
– “다른 형태로 나타나는 능력”을 의미하는 사전
– 같은 함수(메소드)를 호출하더라도 객체에 따라 다르게 동작함
– 하위 클래스에서 상위 클래스의 동작을 재정의하고 사용하는 것도 다형성으로 볼 수 있습니다.
.
.
.
객체 지향 프로그래밍의 장점
– 신뢰할 수 있는 소프트웨어를 작성하기 쉽습니다.
– 쉽게 재사용 가능한 코드.
– 쉬운 유지 보수.
– 직관적인 코드 분석이 가능합니다.
-소프트웨어 생산성을 향상시킵니다.
.
.
.
.
.
.
닫다