[JAVA] 객체 지향 프로그래밍(OOP)
·
Programming Language/JAVA
객체 지향 프로그래밍(Object Oriented Programming) 프로그래밍에서 필요한 데이터를 추상화 시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법 ⇒ 자료구조를 중심으로 한 모듈들을 먼저 설계한 다음에 이들의 실행순서와 흐름을 짜느 방식 C++, C#, Java, Python SOLID 장점 코드 재사용 용이 남이 만든 클래스를 가져와서 이용 가능, 상속을 통해 확장해서 사용 가능 유지보수 쉬움 절차 지향 프로그래밍에서는 코드 수정 시 일일이 찾아 수정해야 하지만 객체 지향 프로그래밍에서는 수정해야할 부분이 클래스 내부에 멤버 변수 혹은 메서드로 존재하기 때문에 해당 부분만 수정하면 된다. 대형 프로젝트에 적합 클래스 단위로 모..
[SpringBoot] OOP(Object Oriented Programming)
·
Web & Android/SpringBoot
OOP(객체 지향 프로그래밍)란 문제를 여러 개의 객체 단위로 나눠 작업하는 방식으로, 객체들이 서로 유기적으로 상호작용하는 프로그래밍 이론 객체 지향의 4대 특성 1. 캡슐화 (Encapsulation) 데이터와 코드의 형태를 외부로부터 알 수 없게 하고, 데이터의 구조와 역할, 기능을 하나의 캡슐 형태로 만드는 방법 캡슐화의 중요한 목적은 변수를 private로 선언하여 데이터를 보호하고, 보호된 변수는 getter나 setter등의 메서드를 통해서만 간접적으로 접근을 허용하는 것 캡슐화를 하면 불필요한 정보를 감출 수 있기 때문에, 정보은닉을 할 수 있다는 특징이 있다. 캡슐화와 정보은닉은 동일한 개념은 아님 2. 추상화 (Abstraction) 객체의 공통적인 속성과 기능을 추출하여 정의하는 것...