본문 바로가기

cs3

전위, 후위 연산자 코드리뷰를 하며 나는 잘 사용하지 않던 전위 증가에 대해 문득 궁금증이 들어 찾아보게 됐다.알고리즘을 풀든 일을 하든 for 문이나 카운트 등에서 항상 cnt++ 이런식으로만 작성해왔는데다른 글들을 보면 ++cnt 로 써있는 경우가 많았다.결론부터 써보자면 전위 연산을 사용하는 것이 대부분의 상황에서 후위연산보다 효율적이었다.둘의 핵심적인 차이는 연산자가 연산 후 반환하는 값에 있었다.표현동작 방식반환값++cnt전위 증가 : 값을 먼저 1 증가 시킴증가된 값cnt++후위 증가 : 값을 먼저 반환하고 1 증가원래 값각 동작의 내부 동작을 확인해보면,후위 증가 내부 동작//! int res = cnt++;int temp = cnt;cnt = cnt + 1;return temp;전위 증가 내부 동작//! in.. 2025. 8. 4.
Singleton Pattern SingleTonGangs of Four 패턴 중 생성 패턴의 일종생성자가 여러 차례 호출 되더라도 실제로 한 개의 객체만 생성되고 최초 생성 이후에는 최초 생성자가 생성한 것을 리턴합니다.하나의 인스턴스를 만들어 놓고, 해당 인스턴스를 여러 모듈이 공유하며 사용합니다.인스턴스 생성에 대한 비용이 감소한다는 장점이 있지만, 의존성이 높아진다는 단점이 있습니다.보통 데이터베이스 연결 모듈에 많이 사용합니다.예시class Singleton { public: // GetInstance 메서드는 Singleton 클래스의 유일한 인스턴스를 반환합니다. static Singleton& GetInstance() { // static 지역 변수를 사용하여 인스턴스를 생성합니다. // Singleton .. 2024. 6. 2.
객체지향형과 절차지향형 객체지향실세계에 존재하고 인지하고 있는 객체(Object)를 소프트웨어 상에 표현하기 위해 핵심적인 개념 또는 기능만을 추출하는 추상화(abstraction)를 통해 모델링 하려는 프로그래밍 패러다임크게 추상화 캡슐화 상속 다형성 의 네가지 특성을 가짐 추상화(Abstraction)객체에서 공통된 속성과 행위를 추출하는 것공통의 속성과 행위를 찾아 타입을 정의하는 과정불필요한 정보는 숨기고 중요한 정보만 표현함으로써 프로그램을 간단하게 만드는 것예시휴대폰의 기능들을 구현하고, 동작하게 하는 것은 복잡하지만, 그걸 사용하는 것은 간단하다        캡슐화(Encapsulation)데이터 구조와 데이터를 다루는 방법들을 결합시켜 묶는 것낮은 결합도를 유지할 수 있도록 설계하는 것예시private 변수 / .. 2024. 5. 28.