객체 지향 OOP

(object oriented program)

 객체 지향 개념은 프로그램을 보다 실제 세상에 가깝게 모델링 하여 실제 세상의 물체를 객체로 표현하고, 객체들의 관계 상호 작용을 설계한 뒤, 각 객체를 클래스로 작성하면 프로그램이 완성된다.

객체 지향 언어의 목적 

-소프트웨어의 생산성 향상

-실세계에 대한 쉬운 모델링


객체 지향의 4가지 특징

추상화(Abstraction) 

추상적인 을 구체적으로 모델링 하는 모든 과정

(=객체를 만드는 모든 과정)

사물들 간의 공통점은 취하고 차이점은 버린다.

중요한 부분의 강조를 위해 불필요한 세부사항은 제거한다.

캡슐화(Encapsulation)

객체를 캡슐로 싸서 내부를 보호하고 볼 수 없게 하는 것으로 객체의 가장 본질적인 특징이다.

-상태와 행위의 캡슐화 (데이터 캡슐화)

-사적인 비밀의 캡슐화 (은닉화)

상속(Inheritance)

class의 데이터와 메소드를 다른 class에 물려주거나 물려받는것.

상속받은 메소드를 추가적으로 데이터와 메소드내용 재사용 가능하다.


다형성(Polymorphism)

같은 이름의 메소드가 클래스 혹은 객체에 따라 다르게 동작하도록 구현되는것을 말한다.

-오버라이딩(overriding) : 슈퍼 클래스에 구현된 메소드를, 서브 클래스에서 동일한 이름으로 자신의 특징에 맞게 다시 구현한다.

-오버로딩(overloading): 클래스 내에서 이름이 같지만 서로 다르게 동작하는 메소드를 여러 개 만드는 메소드이다.




'프로그래밍 > JAVA' 카테고리의 다른 글

[JAVA] final  (1) 2018.08.20
[JAVA] String 타입  (8) 2018.08.20
[JAVA]상속-부모클래스, 자식클래스  (5) 2018.08.18
[JAVA]this 레퍼런스  (2) 2018.08.17
[JAVA]접근 지정자를 알아보자!  (2) 2018.08.17

+ Recent posts