728x90
OOP(Object-Oriented Programming)는 객체를 중심으로 프로그래밍하는 패러다임으로, 프로그램을 객체라는 기본 단위로 쪼개고 이 객체들 간의 상호작용을 통해 로직을 구현하는 것입니다.
OOP의 특징은 크게 4가지로 분류할 수 있습니다.
- 캡슐화(Encapsulation): 객체의 필드와 메서드를 하나로 묶고, 외부에서 직접 접근하지 못하도록 제한하는 것입니다. 객체 내부의 구현 방식을 외부에서 숨기면서 객체가 제공하는 기능만 사용할 수 있도록 제한함으로써 객체의 사용성을 높이고, 변경에 대한 유연성을 높일 수 있습니다.
- 상속(Inheritance): 이미 정의된 클래스를 기반으로 새로운 클래스를 정의하는 것입니다. 상위 클래스의 필드와 메서드를 하위 클래스에서 그대로 사용할 수 있기 때문에, 코드의 재사용성을 높이고, 객체의 유연성을 높일 수 있습니다.
- 다형성(Polymorphism): 하나의 객체가 여러 가지 형태를 가질 수 있는 것입니다. 같은 타입의 객체라도 다른 클래스에 따라 다르게 동작할 수 있습니다. 이를 통해 유연한 설계와 코드의 재사용성을 높일수 있습니다.
- 추상화(Abstraction): 객체에서 핵심적인 부분을 추출해서 모델을 만드는 것입니다. 즉, 필요한 부분만 추려내서 모델링함으로써 객체의 복잡성을 낮추고, 단순화할 수 있습니다.
이러한 OOP의 특징들은 객체를 중심으로 프로그래밍하는 방식으로, 코드의 가독성, 재사용성, 유지보수성을 높이며, 객체 간의 상호작용을 보다 유연하게 처리할 수 있습니다.
728x90
'Programming > Java' 카테고리의 다른 글
[Java] for문과 for-each문 (0) | 2023.02.27 |
---|---|
[Java] 배열과 리스트 (0) | 2023.02.27 |
[Java] int 상수 대신 열거 타입을 사용하라 (0) | 2023.02.27 |
[Java] clone 함수 (0) | 2023.02.27 |
[Java] 문자열 거꾸로 출력하기 (0) | 2023.02.26 |