Christmas Pikachu 22/05/23 JAVA (DAY09)
Java

22/05/23 JAVA (DAY09)

ZI_CO 2022. 5. 24.

객체지향(OOP : Object-Priented Programming)

--> 객체란 세상에 존재하는 모든 것을 의미  즉, 주변의 사물, 생명 등을 만한다. 

프로그래밍 관점에서는 객체들의 관계성을 사용하여 순차적으로 수행되는 프로그램 내에서 객체들 간에 관계를 형성하여 프로그램을 동작하한다.

 

 <객체의 예시> 

 

객체 = 데이터 + 기능 

객체 = 컴퓨터(pc) 

데이터(변수) = 모니터, 본체, 키보드, 마우스, 스피커등

기능(메소드) = 화면출력, 프로그램 실행, 입력, 소리출력 등

 

 

객체지향 언어의 특징 

  1. 상속 
  2. 캠슐화 
  3. 추상화 : 추상적인 설계도 
  4. 다형성 

 

상속 : 의미 그대로 상위 클래스의 모든 것을 상속받아 사용하는 것 (데이터의 관계성) 

 

캡슐화 : 데이터와 기능을 외부로부터 접근을 차단하고 권한 또는 절차 없이 데이터를 변경 또는 기능 수행을 할 수 없게 캡슐처럼 보호함 (데이터의 은닉성) 

추상화 : 추상적인 요소들을 묶어서 분류하는 것 

다향성 : 객체의 기능이 다양한 형태를 가질 수 있음. 상속과 깊은 관계를 가진다. 

 

객체지향 언어의 장점 

1. 재사용성 : 상속을 통해 코드의 재사용을 높일 수 있음 

2. 생산성 향상 : 클래스 단위의 부품들을 조립 

3. 유지보수의 우수성 : 구조화 된 소스코드 클래스단위로 소스코드를 관리할 수 있음 

 

객체지향 언어의 단점 

1. 객체를 세분화하여 설계하여야 한다. 

2. 실행 속도가 절차지향 언어 대비 느리다. 

3. 상속으로 인하여 관계 가 많이 형성되면 코딩의 난이도가 높아진다. 

 

 

 

클래스 : 객체에 대하여 정의해 높은 설계도 혹은 (틀)이다. 

Object : 클래스를 통해 구현 할 수 있는 모든 대상 즉, 해당 클래스로 구현한 인스턴스를 대표하는 의미.

 

Instance (인스턴스// 실체가 있는것  ) :  객체가 실제로 구현된 것. 클래스의 인스턴스라고 표현한다.

 

 

 

'Java' 카테고리의 다른 글

22/05/24JAVA (DAY10)  (0) 2022.05.26
22/05/20JAVA (DAY08)  (0) 2022.05.26
22/05/19 JAVA (DAY7)  (0) 2022.05.19
22/05/18 JAVA (DAY06)  (0) 2022.05.19
22/05/17 JAVA (DAY05)  (0) 2022.05.19

댓글