분류 전체보기

Computer Science/Open Source

Open Source Software에 대해서

1. OSS의 정의소스 코드를 공개해 누구나 특별한 제한 없이 그 코드를 보고 사용할 수 있는 오픈소스 라이선스를 만족하는 소프트웨어 => 통상 강략하게 오픈소스라고 말함소프트웨어의 내용인 소스코드가 공개되어 특정 라이선스 방식을 통해 배포되고, 수정, 복제, 사용, 재배포가 자유로운 소프트웨어를 지칭 2. 최근 많이 사용되고 있는 오픈소스 SWMozilla FirefoxLibreOfficeGIMPVLC Media PlayerLinuxBlenderGNU Compiler CollectionPythonPHPShotcut 3. 오픈소스SW의 장점낮은 개발비용빠른 기술지원과 유연한 개발최신기술 정보 및 문제점과 해결책을 공유하는 형태로 자유롭게 운영되기 때문에 독점 프로그램에 비해 기술 발전속도가 빠름오픈 포맷..

Develop/Java

[Java] The value of the local variable is not used 문제 해결

코드를 작성하다보면 The value of the local variable is not used 라는 경고가 뜰 것이다. 아래 코드를 같이 보자. package sec01.exam04; public class VariableScopeExample { public static void main(String[] args) { int v1 = 15; if(v1>10) { int v2; v2 = v1 - 10; } } } 우리는 위 코드를 쳐보면 8번째줄에서 The value of the local variable v2 is not used 라는 오류가 발생할 것이다. 에러는 아니라 실행은 되겠지만 경고라니 먼가 찜찜하다. 이러한 경고는 선언한 변수 v2는 사용되지 않고 할당만 되므로 경고가 표시되는 것이다...

Develop/C, C++

[C/C++] 복사생성자와 정적 멤버

이번 포스팅에서 우리가 배워볼 것은 다음과 같다. 함수로 객체 전달하기(feat. 복사 생성자) 함수가 객체를 반환하기 객체끼리의 복사 방법 객체와 연산자 '=' 객체 사이의 비교 연산자 사용 가능할까? 클래스에서의 정적 변수 클래스에서의 정적 멤버 함수 1. 함수로 객체 전달하기(feat. 복사 생성자) C++에서 함수로 인수를 전달하는 방법은 2가지가 있다. 값에 의한 호출(call by value) 참조에 의한 호출(call by reference) 함수로 객체를 전달하면 일반적인 생성자가 호출되는 것이 아닌 복사 생성자(copy constructor) 라는 특수한 생성자가 호출된다. 복사 생성자는 따로 만들지 않아도 컴파일러가 기본적인 버전은 만들어서 사용한다. 아래 예제를 보자. 예제1 : 값에..

Develop/C, C++

[C/C++] 객체 지향 프로그래밍과 클래스

이번 포스팅에서 우리가 배워볼 것은 다음과 같다. 절차 지향 프로그래밍 VS 객체 지향 프로그래밍 클래스 객체의 구성 객체 생성하기 접근 지정자 객체의 멤버 접근 클래스와 인터페이스의 분리 이름 공간 클래스의 선언과 클래스의 정의 분리 클래스 예제 1. 절차 지향 프로그래밍 VS 객체 지향 프로그래밍 현재 우리가 많이 사용되는 프로그래밍 기법은 절차 지향 프로그래밍과 객체 지향 프로그래밍으로 나눈다. 1. 절차 지향 프로그래밍(procedural programming) 절차 지향 프로그래밍(procedural programming)은 프로시저(procedure)를 기반으로 하는 프로그래밍 방법이다. 즉, 절차 지향 프로그래밍에서 전체 프로그램은 함수들의 집합으로 이루어져 있다. 여기서 프로시저는 일반적으..

Develop/C, C++

[C/C++] 생성자(constructor) & 접근 제어(access control)

이번 포스팅에서 우리가 배워볼 것은 다음과 같다. 생성자(constructor) 생성자가 필요한 이유 생성자를 호출하는 방법 멤버 초기화 리스트 소멸자 접근 제어(access control) 접근자와 설정자 객체와 함수의 관계 1. 생성자(constructor) 객체가 생성된 후에는 반드시 객체를 초기화하여야 한다. 동적 메모리 공간이나 자원들을 할당 하는 것도 초기화에 포함되는데 생성자(constructor)는 그 초기화를 담당하는 함수라 보면 된다. 2. 생성자가 필요한 이유 아래 예제를 보면서 생성자가 왜 필요한지 알아보자. #include using namespace std; class Time { public: int hour; // 0-23이 가능한 시를 나타낸다. int minute; // ..

Develop/C, C++

[C++] 객체 배열과 벡터

이번 포스팅에서 우리가 배워볼 것은 다음과 같다. 객체 배열 객체 배열의 초기화 객체 배열 예제 벡터 벡터의 선언 벡터 대표 예제 push_back()과 pop_back() 벡터에서 요소의 위치 : v.begin() / v.end() / v.front() / v.back() 벡터의 중간 부분을 삭제하기 : erase() 벡터와 연산자 벡터 예제 array 클래스 1. 객체 배열 정수 배열을 생성할 수 있는 것처럼 객체들의 배열도 생성 가능하다! 객체 배열의 요소가 객체가 된다. 즉, 객체들이 모여 있는 컨테이너가 '객체 배열'이 되는 셈이다! 아래 예제를 통해서 원을 나타내는 객체를 여러개 생성하여서 화면에 그려보는 프로그램을 작성해보자. #include using namespace std; class ..

Develop/C, C++

[C/C++] 상속(Inheritance)

1. 상속의 개요 상속(inheritance)이란 이미 존재하는 클래스로부터 멤버들을 물려받는 것을 말한다. 이미 존재하는 클래스를 부모 클래스(parent class = super class = base class), 상속받는 클래스를 자식 클래스(child class = sub class = derived class) 라고 한다. // 예시) class ChildClass : 접근 지정자 ParentClass { ...// 추가된 멤버 변수와 멤버 함수 } // ==================================== class Car { int speed; }; class SportsCar : public Car { bool turbo; } 자식 클래스는 부모 클래스가 가지고 있는 모든 멤..

JuniTech
'분류 전체보기' 카테고리의 글 목록 (2 Page)