목록2025/07/16 (4)
devseop08 님의 블로그
기초 클래스와 파생 클래스객체지향 언어에서 상속은 계층관계를 사용하여 클래스 간의 속성 및 함수를 공유할 수 있도록 지원하는 매우 중요한 개념이다.객체지향 언어에서는 하나의 클래스를 다른 클래스의 속성을 상속받아 정의하는 기능을 제공한다.한 클래스가 다른 클래스의 한 가지 구체적인 예에 해당할 때 이 클래스 간에 'is-a' 관계가 있다고 말한다.상속하는 클래스들의 공통된 특징을 모두 보유하고 있는 클래스를 기초 클래스라고 한다.기초 클래스보다 더 자세한 속성을 갖는 클래스를 파생 클래스라고 한다.파생 클래스는 기초 클래스의 특성을 모두 포함하고 있으며 자신의 고유 특성을 추가로 갖고 있을 수 있다.파생 클래스를 표현할 때 기초 클래스의 특성들을 반복하여 표현할 필요가 없다.상속은 프로그램의 비슷한 특성..
1. 스코프블록복합 명령문이라고도 불리는 블록은 마치 한 명령문같이 보이는 명령문의 그룹이다.블록은 { 기호로 시작하고, } 기호로 끝나며, 기호 사이에 실행할 명령문을 배치한다.블록은 단일 명령문이 허용되는 모든 위치에서 사용할 수 있고, 블록 끝에는 세미콜론(;)이 필요하지 않다.int add(int x, int y){ // 시작 블록 (start a block) return x + y;} // 끝 블록 (end a block)int main(){ // start a block // 여러 명령문 (multiple statements) int value(0); add(3, 4); return 0;} // end a block (no semicolon)블록은 다른 블록 내부에 ..
연산자연산자의 우선 순위 및 결합 방향산술 연산자사칙 연산자나머지 연산자증감 연산자증감 연산자와 사이드 이펙트전위 증감 연산자는 값을 증가 또는 감소시킨 후에 값을 평가한다.int x = 5;int y = ++x; // x = 6, y =6후위 증감 연산자를 사용하는 경우엔 컴파일러가 변수의 임시 복사본을 만든 후에 원래 변수를 증가 또는 감소시키고 변수의 임시 복사본을 평가한다.평가가 종료되면 임시 복사본을 삭제시킨다.int x = 5;int y = x++; // x = 6, y = 5int x = 5, y = 5;std::cout 사이드 이펙트사이드 이펙트란, 함수나 표현식이 자신의 본래 목적(값 반환) 외에 프로그램의 상태나 외부 세계에 영향을 미치는 모든 행위를 말한다.즉, 사이드 이펙트란 함수 ..
의존성 관리 기법들을 원칙이라는 관점에서 정리한다.1. 개방-폐쇄 원칙개방-폐쇄 원칙: "소프트웨어 개체(클래스, 모듈, 함수 등등)는 확장에 대해 열려 있어야 하고, 수정에 대해서는 닫혀 있어야 한다."키워드는 '확장'과 '수정'확장에 대해 열려 있다: 애플리케이션의 요구사항이 변경될 때 이 변경에 맞게 새로운 '동작'을 추가해서 애플리케이션의 기능을 확장할 수 있다.수정에 대해 닫혀 있다: 기존의 '코드'를 수정하지 않고도 애플리케이션의 동작을 추가하거나 변경할 수 있다.개방-폐쇄 원칙에서 유연한 설계란 기존의 코드를 수정하지 않고도 애플리케이션의 동작을 확장할 수 있는 설계라고 말한다.일반적으로 애플리케이션의 동작을 확장하기 위해서 코드를 수정하지 않는 거 아닌가?어떻게 코드를 수정하지 않으면서 새..