프로그래밍/Java
객체지향프로그래밍(OOP) 개념 이해하기!!
허니팁
2017. 8. 1. 19:08
728x90
반응형
자바의 특징인 객체지향프로그래밍(OOP : Oriented Object Programming)의 특성에는
캡슐화(Encapsulation), 상속성(Inheritance), 다형성(Polymorphism)이 있습니다.
1) 캡슐화
-데이터와 데이터를 다루는 방법(조작)을 묶는 것입니다.
-클래스 내부 정의에 대해 외부에서 볼 수 없는 것이 특징입니다.
클래스의 접근 권한을 결정하는 접근 지정자를 사용하여 구현합니다.
접근 지정자에는 (public > protected > default > private ) 접근 허용 순입니다.
-캡슐화의 예를 들자면 알약은 캡슐로 되어있기에 약의 내용물을 알 수 없습니다.
2) 상속성
-하나의 클래스(부모 클래스)가 갖는 특징(데이터+ 조작)들을 다른 클래스(자식 클래스)가 물려받는 것입니다.
-상위 클래스에서 정의한 속성을 재사용하여 개발 속도를 높이기 위해 만들었습니다.
-상속을 이용하면 하위 클래스는 상위 클래스의 모든 연산과 메소드를 자신의 클래스에 다시 정의하지 않고도
자신만의 메소드로 구현가능합니다.
3) 다형성
-상속성의 계층을 따라 각각의 클래스에 동일한 이름의 메소드를 사용할 수 있는 것입니다.
-하나의 인터페이스를 이용하여 다양한 구현을 제공하여 개발의 효율성을 높입니다.
Human human; human = new Singer(); human.eat(); human = new Programmer(); human.eat(); human = new Dancer(); human.eat();
-사람의 직업은 다양하지만 모든 사람은 먹는 행동을 하기에 동일한 eat()메소드를 사용할 수 있다는 뜻입니다.
728x90
반응형