반응형

프로그래밍 7

[OOP] 디자인 패턴(Design Pattern)이란? - 장점 및 종류

디자인 패턴(Design Pattern)이란? 디자인 패턴은 개발하면서 발생하는 반복적인 문제들을 어떻게 해결할 것인지에 대한 해결 방안으로 실제 현업에서 비즈니스 요구 사항을 프로그래밍으로 처리하면서 만들어진 다양한 해결책 중에서 많은 사람들이 인정한 모범 사례(Best Practice)다. 이러한 디자인 패턴은 객체 지향 4대 특성(캡슐화, 상속, 추상화, 다형성)과 설계 원칙(SOLID)을 기반으로 구현되어 있다. 디자인 패턴의 장점 재사용성 : 반복적인 문제에 대한 일반적인 해결책을 제공하므로, 이를 재사용하여 유사한 상황에서 코드를 더 쉽게 작성할 수 있다. 가독성 : 일정한 구조로 정리하고 명확하게 작성하여 개발자가 코드를 이해하고 유지보수하기 쉽게 만든다. 유지보수성 : 코드를 쉽게 모듈화 ..

[Objects] 0. 프로그래밍 패러다임 - 오브젝트 정독하기

프로그래밍 패러다임 프로그래밍 패러다임(Programming paradigm)이라는 용어는 튜링상(Turing Award)을 수상한 로버트 플로이드(Robert W. Floyd)가 ACM 튜링상 강연(ACM Turing Award Lecture)에서 'The Paradigms of Programming'이라는 제목으로 강의하면서 처음 등장했다. 프로그래밍 패러다임은 특정 시대의 어느 성숙한 개발자 공동체에 의해 수용된 프로그래밍 방법과 문제 해결 방법, 프로그래밍 스타일이라고 할 수 있다. 간단히 말해서 우리가 어떤 프로그래밍 패러다임을 사용하느냐에 따라 우리가 해결할 문제를 바라보는 방식과 프로그램을 작성하는 방법이 달라진다. 프로그래밍 패러다임이 중요한 이유 개발자 공동체가 동일한 프로그래밍 스타일과..

[Java] 명령형 프로그래밍과 선언형 프로그래밍의 차이

명령형 프로그래밍 명령형 프로그래밍은 실행할 동작을 구체적으로 명시하는 것으로 컴퓨터가 수행할 명령들을 순서대로 코드로 작성하는 것을 의미한다. 명령형 프로그래밍은 특정 문제를 어떻게(how) 해결할 것인가를 중점으로 프로그래밍한다. 이를 절차적 프로그래밍이라고도 한다. 명령형 프로그래밍 예제 public class Example { public static void main(String[] args){ List numbers = List.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); int sum = 0; for(int number : numbers){ if(number % 2 == 0){ sum += number; } } System.out.println(sum); } } 1부터 10..

[CS] 객체지향 프로그래밍이란?

객체란? (Object) 사람과 동물, 어떤 논리나 사상, 개념 등 눈에 보이는 것부터 보이지 않는 것까지 객체라는 범주에 포함될 수 있다. 즉, 사람이 보고 느끼고 인지할 수 있는 모든 것을 의미한다. 자바와 같은 객체지향 프로그래밍은 이러한 객체로부터 시작된다. 프로그래밍 언어에서의 객체는 클래스에 의해 정의되고 설계된 내용을 기반으로 생성된다. 객체는 속성과 행위(기능)를 가진다. 즉, 클래스를 통해 만들어진 객체가 실제로 사용할 수 있는 주체가 된다. 객체의 속성은 필드(변수), 행위는 메서드에 해당한다. 속성과 행위는 이너 클래스와 함께 객체의 멤버이다. 클래스를 통해 생성된 객체를 클래스의 인스턴스(instance)라 부른다. 객체지향 프로그래밍 (OOP: Object Oriented Prog..

[Java] 객체지향 프로그래밍 언어 자바란? (특징, JVM, JDK)

Java 자바는 1996년 1월에 배포된 객체지향 프로그래밍(Object Oriented Programming, OOP) 언어이다. 운영체제에 독립적으로 실행이 가능하기 때문에 빠른 시간 내에 많은 사용자를 확보하여 현재까지도 전 세계에서 많이 쓰이는 언어 중 하나이다. 다양한 운영체제 환경에서 사용할 수 있는 웹 개발에 적합한 언어로 많이 활용된다. TIOBE의 자료에 따르면 자바는 오랜 기간 타 언어에 비해 상위권을 계속 유지했다. 출처 : https://www.tiobe.com/tiobe-index/ 2022년 기준 세계에서 가장 많이 쓰이는 언어 중 3위에 해당한다. 그렇다면, 왜 1위나 2위가 아닌 3위인 Java를 사용해야 하는가? 이는, 각 언어에 따라 개발용도가 다르기 때문이다. 파이썬이나..

[CS] 프로그래밍의 이해

프로그래밍이란? 프로그래밍은 컴퓨터에게 문제 해결을 맡기는 일종의 커뮤니케이션으로, 정의는 프로그래밍이란 프로그램을 만드는 과정으로, 특정 목적을 달성하기 위해 설계된 알고리즘을 프로그래밍 언어를 사용하여 코드로 작성하는 과정을 의미한다. 프로그램 프로그래밍의 결과로 만들어진 산출물로, 프로그램은 어떠한 목적을 달성하기 위한 컴퓨터 명령문의 집합체이다. 프로그래밍 언어 컴퓨터가 이해할 수 있는 언어. 컴퓨터는 기계어를 사용하며 사람이 이해하기 어렵다. 따라서 컴퓨터의 언어와 사람의 언어를 매개해주는 역할을 하는 것이 프로그래밍 언어이다. 컴퓨터에게 가까운 언어일수록 저수준 언어, 사람에게 가까운 언어일수록 고수준 언어 컴파일 사람이 프로그래밍 언어로 작성한 소스 코드를 컴퓨터가 이해할 수 있도록 기계어 ..

API란 무엇인가? (about API)

1. API의 등장 프로그램을 개발하기 위해서는 많은 인력과 데이터를 요구하며 체계적이고 간결함을 요구하고 있습니다. 그렇기 때문에 기업에서 다양한 분야의 프로그램을 개발하기 위해서는 많은 비용과 시간이 들게 되는데, 이를 줄이기 위한 연구와 노력을 끊임없이 연구해 왔습니다. 이러한 결과물들 중 하나인 것이 바로 API인데요. API란 무엇일까요? 먼저, API는 개인 컴퓨터(Personal Computer)가 등장하기 훨씬 전인 컴퓨터 개발 초기 때부터 존재하고 있었습니다. 당시에는 대개 운영체제의 라이브러리를 구축하기 위해 사용되었으며, 메인 프레임 간의 메시지를 전달하는 경우도 있었지만, 항상 로컬 시스템에서 작동했습니다. 그로부터 약 30여 년이 지난 후에야 API는 로컬 환경에서 분리될 수 있었..

반응형