D+11(Java) 객체 지향 프로그래밍(OOP) / 기능, 클래스 및 객체

■ 패러다임

프로그래밍할 때 가지고 있는 시스템, 관점, 프레임워크

.

.

.

■ 개체란 무엇입니까?

-복잡한 데이터 유형

– 내가 만드는 나만의 새로운 데이터 타입

-처음부터 만드는 나만의 도구

.

.

.

클래스와 객체

■ Class : 실물을 제작하기 전 설계도면

■ 객체: 클래스에 따라 실제로 메모리에 할당되는 것.

– 클래스는 다른 개체를 만들 수 있습니다.

.

.


D+11(Java) 객체 지향 프로그래밍(OOP) / 기능, 클래스 및 객체 2

.

.

.

.

객체지향 프로그래밍의 특징

*** 암기 – 상추로 암기하세요!


D+11(Java) 객체 지향 프로그래밍(OOP) / 기능, 클래스 및 객체 3

.

.

.

.

■ 추상화

공통 특징만 추출하여 초안(프레임) 생성

.

-객체에서 공통 속성(필드, 데이터)과 행위(로직, 메소드)를 추출하는 기법

– 상세정보는 무시하고 필요한 정보만 압축하여 구성

– 코드에서 구현 부분(로직)을 제외한 선언 부분만 디자인

.

.

.

.

■ 캡슐화

.


D+11(Java) 객체 지향 프로그래밍(OOP) / 기능, 클래스 및 객체 4

.

ㄴ 내부 로직이 명확하지 않더라도 public 메소드 이름으로 사용(정보은닉)

.

.

– 관련 필드(속성)와 메소드(함수)를 연결하여 실제 구현 내용을 외부에 숨기는 기술(정보은닉)

– 긴급 상황에서 사용자가 조작할 수 없도록 특정 속성 또는 메서드를 숨김(타인에 의한 외부 조작)

– 공개 메소드(함수) 인터페이스를 통해 외부에서 접근할 수 있습니다.

.

.

.

.

■ 상속


D+11(Java) 객체 지향 프로그래밍(OOP) / 기능, 클래스 및 객체 5

.

– 이미 생성된 클래스(슈퍼클래스)의 속성을 그대로 가지고 새로운 클래스(서브클래스)를 생성하는 기법

기존 코드를 있는 그대로 재사용 또는 덮어쓰기 -> 재사용 + 확장

.

.

.

■ 다형성

– “다른 형태로 나타나는 능력”을 의미하는 사전

– 같은 함수(메소드)를 호출하더라도 객체에 따라 다르게 동작함

– 하위 클래스에서 상위 클래스의 동작을 재정의하고 사용하는 것도 다형성으로 볼 수 있습니다.

.

.

.

객체 지향 프로그래밍의 장점

– 신뢰할 수 있는 소프트웨어를 작성하기 쉽습니다.

– 쉽게 재사용 가능한 코드.

– 쉬운 유지 보수.

– 직관적인 코드 분석이 가능합니다.

-소프트웨어 생산성을 향상시킵니다.

.

.

.

.

.

.

닫다


D+11(Java) 객체 지향 프로그래밍(OOP) / 기능, 클래스 및 객체 6