개발/CS

개발/CS

[CS] 프레임워크(Framework)와 라이브러리(Library)의 차이

프레임워크(Framework)란? 프레임워크는 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조이다. 프레임워크는 애플리케이션 개발 시 필수적인 코드, 알고리즘, DB 커넥션 등의 기능들을 위해 뼈대(구조)를 제공한다. 개발자는 이러한 뼈대 위에서 코드를 작성해 원하는 애플리케이션을 개발할 수 있다. 프레임워크는 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 상호 협력하는 클래스와 인터페이스의 집합이라고 할 수 있다. 쉽게 말해 프레임워크는 개발자가 개발을 쉽게 할 수 있도록 뼈대를 제공해준다고 생각하면 된다. 예를 들어 Java 개발에서 사용되는 Spring 프레임워크나 Python 개발에 사용되는 Django, 안드로이드 앱개발에 사용되는 Android 등이 있다..

개발/CS

[CS] 상속이란 (Inheritance, extends, implements )

상속이란 (Inheritance) 위의 그림을 볼때 상자 하나 하나는 모두 객체(Object)이고 자바 용어로는 Class이다. 이러한 계층을 표현하기 위해 만들어진것이 바로 상속이며 하위 객체는 상위 객체(부모)의 특징을 물려받는다. 예를들어 동물의 특징인 '움직이다'를 포유류, 조류, 파충류는 그대로 물려받게 된다. 즉, move()라는 메소드를 포유류, 조류, 파충류 객체가 모두 사용할수 있게 된다는 뜻이다. 또 다른 예로 나이라는 변수가 동물 객체에 선언되어 있다면 포유류, 조류, 파충류는 나이 변수를 물려받게 된다. 이 메소드 혹은 변수를 그대로 "구현" 하는가 "사용" 하는가에 따라서 상속의 형태가 달라지게 된다. extends : 부모에서 선언 및 정의를 모두 하며 자식은 메소드 및 변수를 ..

개발/CS

[CS] 좋은 객체 지향 설계의 5대 원칙: SOLID

객체지향 5대 원칙이란, SRP(단일 책임 원칙), OCP(개방-폐쇄 원칙), LSP(리스코프 치환 원칙), DIP(의존 역전 원칙), ISP(인터페이스 분리 원칙)을 말하며, 앞자를 따서 SOILD 원칙이라고 부른다. 프로그래머가 시간이 지나도 유지 보수와 확장이 쉬운 소프트웨어를 만드는데 이 원칙들을 적용할 수 있다. SRP (Single Responsibility Principle): 단일 책임 원칙 소프트웨어의 설계 부품(클래스, 함수 등)은 단 하나의 책임만을 가져야 한다. 한 클래스는 하나의 책임만을 가져야 합니다. 이때 하나의 책임을 구분하는 기준은 변경입니다. 변경이 있을 때 파급 효과가 적으면 단일 책임 원칙을 잘 따른 것으로 볼 수 있습니다. 여기서 책임이란, '기능' 정도의 의미로 해..

개발/CS

[CS] OOP(객체 지향 프로그래밍)

OOP (Object-Oriented Programming) 애플리케이션을 구성하는 요소들을 객체로 바라보고, 객체들을 유기적으로 연결하여 프로그래밍 하는 것을 말합니다. OOP는 객체의 관점에서 프로그래밍 하는 것을 의미한다. C언어는 절차 지향 프로그래밍인데, 절차 지향 프로그래밍은 프로세스가 함수 단위로 순서대로 진행되는 것을 말한다. OOP는 절차지향에 비해서 사람의 사고방식과 더 가깝다. OOP는 객체들의 유기적인 관계를 통해서 프로세스가 진행된다. 애플리케이션을 구성하는 요소들을 객체로 바라보고, 객체들을 유기적으로 연결하여 프로그래밍 하는 것을 말한다. OOP는 객체지향 원칙에 따라 관심사가 같은 데이터를 한곳에 모아 분리하고 낮은 결합도를 갖게하여 독립적이고 유연한 모듈로 캡슐화를 하는 것..

ideahamster
'개발/CS' 카테고리의 글 목록