[JAVA] 객체 지향 프로그래밍(OOP)
·
Programming Language/JAVA
객체 지향 프로그래밍(Object Oriented Programming) 프로그래밍에서 필요한 데이터를 추상화 시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법 ⇒ 자료구조를 중심으로 한 모듈들을 먼저 설계한 다음에 이들의 실행순서와 흐름을 짜느 방식 C++, C#, Java, Python SOLID 장점 코드 재사용 용이 남이 만든 클래스를 가져와서 이용 가능, 상속을 통해 확장해서 사용 가능 유지보수 쉬움 절차 지향 프로그래밍에서는 코드 수정 시 일일이 찾아 수정해야 하지만 객체 지향 프로그래밍에서는 수정해야할 부분이 클래스 내부에 멤버 변수 혹은 메서드로 존재하기 때문에 해당 부분만 수정하면 된다. 대형 프로젝트에 적합 클래스 단위로 모..
[JAVA] 자바란
·
Programming Language/JAVA
Java란? 자바로 기술된 프로그램 개발 및 실행을 할 수 있는 소프트웨어 모임의 총칭 Java의 장단점 장점 객체지향 프로그래밍 언어(OOP) 분산 네트워크 기술 지원 멀티쓰레드 지원 이식성이 높음 자바 가상 머신(JVM)에서 작동하기 때문에 운영체제의 종류에 상관없이 작동함 자동 메모리 관리 동적 로딩 지원 오픈소스 라이브러리가 풍부함 단점 속도가 느림 실행을 위해 자바 가상 머신을 거쳐야 하므로, 다른 언어에 비해 실행 속도가 느림 불편한 예외 처리 개발자가 일일이 지정해줘야 함 하드웨어 정밀 조정 불가 Java의 구성 JDK 자바 개발 키트라는 뜻 개발자가 JAVA 프로그램을 개발하기 위한 환경을 제공 JDK에는 JRE가 포함되어 있음 JRE 자바 실행 환경이라는 뜻 JAVA 프로그램이 실행되기 ..
[SpringBoot] OOP(Object Oriented Programming)
·
Web & Android/SpringBoot
OOP(객체 지향 프로그래밍)란 문제를 여러 개의 객체 단위로 나눠 작업하는 방식으로, 객체들이 서로 유기적으로 상호작용하는 프로그래밍 이론 객체 지향의 4대 특성 1. 캡슐화 (Encapsulation) 데이터와 코드의 형태를 외부로부터 알 수 없게 하고, 데이터의 구조와 역할, 기능을 하나의 캡슐 형태로 만드는 방법 캡슐화의 중요한 목적은 변수를 private로 선언하여 데이터를 보호하고, 보호된 변수는 getter나 setter등의 메서드를 통해서만 간접적으로 접근을 허용하는 것 캡슐화를 하면 불필요한 정보를 감출 수 있기 때문에, 정보은닉을 할 수 있다는 특징이 있다. 캡슐화와 정보은닉은 동일한 개념은 아님 2. 추상화 (Abstraction) 객체의 공통적인 속성과 기능을 추출하여 정의하는 것...