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

+ Recent posts