안녕하세요. 

Java의 특징들에 대해 다시 공부해볼 겸 포스팅을 한 번 해보려고 합니다.

 

Java는 대표적인 객체 지향 프로그래밍 언어 중 하나로, 특징은 다음과 같습니다.

1. 객체 지향 프로그래밍 (OOP) 

2. 메모리를 자동으로 관리함

3. 운영 체제에 독립적

4. 멀티 쓰레드 지원

 

그중에서 객체 지향 프로그래밍에 대해 포스팅해보겠습니다.

 

 

 


 

 

객체 지향 프로그래밍이란, (= OOP = Object Oriented Programming )

프로그래밍이 필요한 데이터를 하나의 '객체'로 보고 상태(속성)와 행위(Method)를 가진 객체로 구현하는 프로그래밍 방식을 말합니다.

 

예를 들어 "동물"을 객체 지향 프로그래밍의 관점으로 본다면,

일반적으로 동물들은 공통적으로 눈, 코, 입을 가지고 있고 ( 상태 ) 먹기, 잠자기, 숨쉬기와 같은 행위 (Method)를 합니다.

 

이와 같이 추상화 시킨 '동물' 객체를 Class라고 합니다.

 

 

 

객체 지향 프로그래밍의 대표적 특징 4가지는 다음과 같습니다.

 

1) 상속

다른 클래스의 속성과 메소드를 물려받는 것을 말합니다.

 

예를 들어 '동물' 클래스의 특징을 모두 가지고 있는 '고양이'는 '동물' 클래스를 상속받을 수 있겠죠?

 

 

2) 다형성

객체는 여러 형태로 재구성될 수 있다 는 것을 말합니다.

 

예를 들어 '동물' 은 고양이로도 표현될 수 있고, 강아지로도 표현될 수 있겠죠?

 

3) 추상화

객체의 공통된 속성과 기능을 묶어 정의하는 것을 말합니다.

 

'동물' 은 고양이, 강아지에게도 공통된 속성을 가지고 있는 것을 확인할 수 있습니다.

 

4) 캡슐화

객체의 속성과 메소드를 하나로 묶고, 실제 구현 내용을 외부로부터 감추는 것을 말합니다.

 

 

객체 지향 프로그래밍의 장점은 다음과 같습니다.

1. 상속을 통해 코드의 재사용성이 좋습니다.

2. 클래스 단위로 모듈화가 가능하여 대형 프로젝트에 적합합니다.

 

단점은 다음과 같습니다.

1. 처리속도가 상대적으로 느립니다.

2. 객체가 많으면 용량이 커집니다.

 

 


 

이상으로 객체 지향 프로그래밍에 대해 포스팅해보았습니다.

 

+ Recent posts