총 143개
-
매크로 프로세서의 기능에 대한 조사2025.05.071. 매크로 정의와 확장 매크로 프로세서는 프로그래머가 코드를 작성할 때 작업을 단순화하고 코드의 재사용성을 높이는 도구로 사용됩니다. 매크로 프로세서는 프로그램에서 자주 사용되는 코드 조각이나 패턴을 단순한 키워드로 정의할 수 있게 해줍니다. 이렇게 정의된 키워드는 나중에 코드에서 사용될 때 자동으로 원래의 코드 조각이나 패턴으로 확장되어집니다. 이 과정은 매크로 확장이라고 합니다. 매크로 확장의 장점은 코드 중복의 최소화, 가독성 향상 등입니다. 2. 매개변수화된 매크로 매크로 프로세서는 매개변수화된 매크로를 지원하여, 프로그래...2025.05.07
-
객체지향 프로그램의 개념과 필요성, 특징2025.01.231. 객체지향 프로그래밍의 개념 객체지향 프로그래밍의 기본 개념은 객체라는 단위입니다. 객체는 데이터와 해당 데이터를 처리하는 방법을 함께 캡슐화하여, 하나의 독립적인 단위로 만들어줍니다. 객체는 속성과 메서드로 구성되며, 속성은 객체의 상태를 나타내고, 메서드는 객체의 행동을 정의합니다. 객체지향 프로그래밍은 클래스라는 개념을 기반으로 하며, 클래스는 객체의 설계도와 같습니다. 2. 객체지향 프로그래밍의 필요성 객체지향 프로그래밍의 필요성은 소프트웨어 개발 환경의 변화와 관련이 깊습니다. 소프트웨어의 복잡성이 증가하면서, 효율적으...2025.01.23
-
소프트웨어 보안 CWE Top 25 보안 약점 과제2025.01.121. Use After Free (UAF) UAF는 해제된 메모리 영역을 재사용할 때 발생하는 보안 약점으로, Heap 영역에서 일어나는 문제입니다. 해제된 메모리 공간이 새로운 포인터에 할당될 경우 그 포인터가 해당 영역의 값과 주소 값을 사용할 수 있게 되어 발생합니다. 이를 악용하여 공격자가 해당 영역을 공격 코드로 덮으면 개발자가 의도치 않게 공격 코드를 실행할 수 있습니다. 2. Server-Side Request Forgery (SSRF) SSRF는 서버 측에서 피해자에게 위조된 요청을 보내도록 하는 공격입니다. 웹 서버...2025.01.12
-
서강대학교 23년도 마이크로프로세서응용실험 6주차 Lab06 결과레포트 (A+자료)2025.01.211. Subroutines 실험에서는 subroutine의 호출 및 복귀와 관련된 명령어들의 동작을 이해하고, stack의 활용법과 push, pop 명령어, subroutine에서의 stack의 역할을 학습했습니다. 또한 subroutine으로의 parameter 전달 방식을 이해하고, 개별적인 파일에 작성된 subroutine의 assemble, compile 및 link를 위한 directive의 역할을 이해했습니다. 2. Stacks 실험에서는 LIFO(last-in first-out) 개념을 갖는 stack 메모리 영역의 ...2025.01.21
-
[객체지향프로그래밍] 추상클래스와 추상클래스의 순수가상함수를 파생클래스에서 구현하는 프로그램을 작성하시오.2025.05.161. 파생 클래스 파생 클래스(derived class)란 기초 클래스의 특성을 물려받아 새롭게 정의된 클래스이다. 파생 클래스는 첫 번째, 반드시 자신만의 생성자를 작성해야 한다. 두 번째, 기초 클래스의 접근 가능한 모든 멤버 변수가 저장된다. 세 번째, 기초 클래스의 접근 가능한 모든 멤버 변수를 사용할 수 있다. 네 번째, 필요한 만큼 멤버 변수를 추가할 수 있다. 2. 오버라이딩 오버라이딩(overriding)은 이미 정의되어있는 함수를 무시하고 동일한 이름의 함수를 새롭게 정의하는 것을 의미한다. 오버라이딩은 멤버 함수의...2025.05.16
-
객체 지향 프로그래밍의 기본 개념2025.05.141. 객체 지향 프로그래밍 객체 지향 프로그래밍은 현실 세계의 사물이나 개념을 프로그램 내에서 객체로 모델링하고, 객체 간의 상호작용을 중심으로 프로그래밍하는 패러다임입니다. 이를 통해 복잡한 시스템을 모듈화하고, 재사용 가능한 코드를 작성할 수 있습니다. 객체 지향 프로그래밍의 주요 특징으로는 클래스와 객체, 캡슐화, 상속, 다형성 등이 있습니다. 객체 지향 프로그래밍은 현실 세계의 복잡한 문제를 더 직관적으로 해결할 수 있게 해주며, 코드의 모듈화와 재사용성이 높아지고 협업과 유지보수가 용이해집니다. 하지만 프로그램의 실행 속도...2025.05.14
-
과제(11) - C언어 고급 실습2025.01.201. 클래스 상속 이 과제에서는 클래스 상속에 대해 다룹니다. Point 클래스를 선언하고 이를 상속받는 ColorPoint 클래스를 만듭니다. 또한 WideTV 클래스가 TV 클래스를 상속받고, SmartTV 클래스가 WideTV 클래스를 상속받는 예제를 다룹니다. 이를 통해 상속의 개념과 구현 방법을 이해할 수 있습니다. 2. 동적 바인딩 이 과제에서는 동적 바인딩에 대해 다룹니다. Base 클래스의 멤버 함수 f()에 virtual 키워드를 붙여 가상 함수로 만들고, Derived 클래스에서 이를 오버라이딩하는 예제를 통해 동...2025.01.20
-
방송통신대 컴퓨터과학과 2024년 1학기 파이썬프로그래밍 출석대체과제물2025.01.251. 파이썬 프로그래밍 이 과제물은 방송통신대 컴퓨터과학과 2024년 1학기 파이썬 프로그래밍 수업의 출석대체 과제물입니다. 과제물에는 총 4개의 문제가 포함되어 있으며, 각 문제에 대한 코드와 결과 출력이 제시되어 있습니다. 특히 문제 2와 3에서는 chatGPT를 활용하여 코드를 작성한 결과가 제시되어 있습니다. 코드 작성 시 tryexcept 구문을 사용하여 잘못된 입력값에 대한 에러를 제거하였고, chatGPT를 활용한 코드는 함수 정의를 통해 코드의 재사용성과 모듈화를 높였다고 평가됩니다. 또한 변수명도 직관적으로 이해할 ...2025.01.25
-
객체지향 프로그래밍 족보2025.01.101. 제너릭 코드 제너릭 정의: 데이터 타입을 일반화(generalize) 하는 것을 의미합니다. 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법입니다. 객체의 타입 안정성을 높일 수 있으며, 반환값에 대한 타입 변환 및 타입 검사에 들어가는 노력을 줄일 수 있습니다. 2. ISP 설계원칙 ISP 정의: 인터페이스 분리 원칙, 객체는 자신이 사용하는 메서드에만 의존해야 한다. 인터페이스를 분리하여 작성하면 객체가 불필요한 메서드에 의존하지 않게 됩니다. 3. DIP 설계원칙 DIP 정의: 의존성 역전 ...2025.01.10
-
시스템분석설계에서 재사용에 대하여 각자가 알고 있는 재사용 예시에 대하여 논하시오2025.05.101. 재사용에 대한 개념적 이해 재사용은 소프트웨어 개발에서 기존에 개발된 구성 요소, 모듈, 라이브러리, 프레임워크 등을 다른 시스템이나 프로젝트에서 재활용하여 개발하는 방법론입니다. 이는 개발자가 새로운 소프트웨어를 구축할 때 기존의 코드나 디자인, 비즈니스 로직 등을 활용하여 효율적이고 신속하게 개발을 진행할 수 있는 장점을 제공합니다. 2. 재사용의 장점과 이점 재사용은 개발 생산성을 향상시키고, 품질과 일관성을 향상시키며, 지식 공유와 협업을 촉진하고, 개발자의 역량을 향상시키는 등 소프트웨어 개발에 많은 장점과 이점을 제...2025.05.10
