: : C++ 2

[Memory Structure] Variable in Memory

1. Variables in Memory            (Variables => Stack)   Code 영역실행 코드, 전역상수, static 전역상수 부분이 영역의 정보는 read only로서 절대 변경되지 않아야 한다.컴파일할 때, 크기가 정해진다.   Data & Bss 영역Data 영역은 초기화된 static, 초기화된 전역변수 부분Bss 영역은 초기화되지 않은 전역변수, 0으로 초기화된 전역변수, 초기화되지 않은 static 변수, 0으로 초기화된 static 변수가 올라오는 부분Bss 영역에 올라오는 모든 변수는 0으로 초기화된다.컴파일할 때, 크기가 정해진다.   Heap 영역동적으로 할당해준 변수(malloc, new)가 올라오는 부분먼저 들어간 데이터가 가장 먼저 나온다.(FIFO..

: : C++ 2024.06.28

Overloading, Override, 다형성

1 Overloading 정말 간단하면서도 다형성을 지원하는 방법이 오버로딩(Overloading)입니다. 프로그래밍에서 Overloading이란 메소드 함수명은 같은데 전달받는 파라미터 인자 값에 의해 호출되는 메소드가 다르게 하는 것입니다.   아래의 예시를 봅시다.숫자를 더하는 프로그램을 만드는데 2개의 숫자 덧셈뿐만 아니라 3개의 숫자 덧셈까지도 가능하게 하도록 하려 합니다.  [overloading 사용 안할 시]  그렇다면 우리는 덧셈을 하는 메소드를 호출하는데 2개 숫자일 때와 3개 숫자일 때, 경우에 따라 호출해주어야 합니다.하지만 이는 매우 불필요한 작업입니다. 매개변수로 전달되는 값의 개수(x , y , z or x. y)의 값에 의해 기능이 결정되고 메소드..

: : C++ 2024.04.17