[ java ] 객체지향 - 캡상추다
페이지 정보
작성자 웹지기 댓글 0건 조회 2,244회 작성일 20-12-18 10:40본문
Paradigm
- 사람들의 견해나 사고를 근본적으로 규정하는 테두리
Programming Paradigm
- 프로그래밍을 할 때 가지는 체계, 관점, 틀
Step by Step(Process)
Data and Login Mixed
Object Oriented Programming( 객체지향프로그래밍 - OOP )
Class 와 Object
1) Class(설계도)
- (Blueprint(설계도), Definition(정의), Description(설명))
① 클래스의 구조( Data, Logic )
- Data = Field - Attribute(속성) - 이름 키 나이 성별 머리색 눈동자 등등
전역변수는 필드
- Logic = Method - Behavior(행동) - 걷다 먹다 자다 말하다 싸우다 생각하다 등등
매개변수는 메소드
2) Object(객체)
- Created from the class( 클래스를 이용해서 만들어진 무언가 )
객체지향 프로그래밍의 특징 ( 캡상추다 ㅡㅡ;; )
① 추상화 (Abstract)
- 객체에서 공통적인 속성과 행위를 추출하는 기법
- 코드 상에서 구현(로직)부분을 제외한 오직 선언 부분만을 설계
- 상세한 정보는 무시하고 필요한 정보들만 간추려서 구성
② 캡슐화 (Encapsulation)
- Data, Logic 을 보호하는 방법을 만든다. 접근제한자와 밀접한 관계
- 관련된 필드(속성)와 메소드(기능)를 하나로 묶고, 실제 구현 내용을 외부로부터 감추는 기법(정보은닉)
- 만일의 상황(타인이 외부에서 조작)을 대비해서 특정 속성이나 메소드를 사용자가 조작할 수 없도록 숨겨 놓은 것.
- 외부에서는 공개된 메소드(기능)의 인터페이스를 통해 접근 할 수 있다.
- Scanner, Random, Arrays, Math
③ 상속 (Inheritance)
- 이미 작성된 클래스(상위클래스)의 특성을 그대로 이어받아 새로운 클래스(하위클래스)를 생성하는 기법
- 기존 코드를 그대로 재사용하거나 재정의 -> 재사용+확장
④ 다형성 (Polymorphism)
- 사전적 의미 '다양한 형태로 나타날 수 있는 능력'
- 같은 기능(메소드)를 호출하더라도 객체에 따라 다르게 동작하는 것
- 상위클래스의 동작을 하위클래스에서 다시 정희하여 사용(Overriding - 오버라이딩) 하는 것 또는 다형성으로 볼 수 있다.
객체지향 프로그래밍의 장점
- 신뢰성있는 소프트웨어를 쉽게 작성할 수 있다.
- 코드를 재사용하기 쉽다.
- 유지보수가 용이하다
- 직관적인 코드 분석이 가능하다.
- 소프트웨어 생산성이 향상된다.
댓글목록
등록된 댓글이 없습니다.