OOP(Object Oriented Progarmming)
-객체를 먼저 만들고, 이것들을 하나씩 조립하여 완성된 프로그램을 만드는 기법
객체(Object)란?
-물리적으로 존재하거나, 추상적으로 생각할 수 있는 것 중 자신의 속성을 가지고 있고, 다른 것과 식별 가능한것
-객체는 속성(필드-field)과, 동작(메소드-method)으로 구성되었음
객체 지향 프로그래밍의 특징
캡슐화(Encapsulation)
-객체의 필드, 메소드를 하나로 묶고 , 실제 구현 내용을 감추는 것
-외부 객체는 객체 내부 구조를 알지 못하며 객체가 노출해서 제공하는 필드와 메소드만 이용가능
외부의 잘못된 사용으로 인해 객체가 손상되지 않도록 접근제한자를 사용하여 객체의 필드와 메소드의 사용범위를 제한, 외부로부터 보호한다.
상속(Inheritance)
-부모 역할의 상위 객체가 자기가 가지고있는 필드와 메소드를 자식 역할의 하위 객체에게 물려주는 것
상위 객체를 재사용 해서 하위 객체를 쉽고 빨리 설계할 수 있도록 도와주고, 상위 객체의 수정으로 모든 하위 겍체들의 수정효과를 가져와 유지보수가 간편하다.
다형성(Polymorphism)
-같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 성질
하나의 타입에 여러 객체를 대입함으로 써 다양한 기능을 이용할 수 있도록 해준다.
자바는 다형성을 위해 부모클래스 혹은 인터페이스 타입변환을 허용한다.
추상화(Abstraction)
-구체적인 사물의 공통적인 특징(field, method)를 뽑아내는 것
구현하는 객체들이 가진 공통적인 데이터와 기능을 도출해 내는 것을 의미한다.
'JAVA' 카테고리의 다른 글
[java] 배열 (0) | 2018.11.13 |
---|---|
[java]기초공부하기 (0) | 2018.11.13 |
자바 ,JDK 설치 및 환경변수설정 (0) | 2018.09.11 |