1 Overflow[편집]

어떠한것이 용량을 초과하여 넘쳐 흐르는 것을 의미하는 영단어

2 컴퓨터 용어[편집]

프로그래밍에서, 메모리 용량을 넘어선 값이 들어가 생기는 에러.

A B
? ? 1 1 1 1
? 1 0 0 0 0

오버플로우의 간단한 예(버퍼 오버플로우). 이진법으로 15가 들어있는 4비트짜리 변수 B의 값을 1 증가시키자 결과가 옆에 있던 변수 A의 값을 침범하면서 B의 값은 0이 됐다.

종류에 따라 발생 시 에러 메시지를 출력하는 경우도 있고, 그렇지 않은 경우도 있다. 이 중 에러 메시지를 출력하지 않는 경우가 더 위험하다. 잘못된 정보로 명령을 계속 수행하기 때문에 쓰레기 값을 출력하거나 에러 메시지를 출력하는 곳과 오버플로우가 일어난 곳이 다른 일이 일어날 수가 있다.

xkcd 571화 'Can't Sleep'
32767에서 -32768로 나가는 걸로 봐서 이 예시에서 양의 수는 short 형태로 저장되는 모양이다.

오버플로우의 가장 많은 예로 스택 오버플로우(Stack overflow)가 있다. 함수는 변수 등을 저장하기 위해 스택을 만드는데, 이 함수가 재귀적으로 계속 실행되면 스택이 점점 생겨난다. 이러면 어느순간 메모리가 모자라는 순간이 되는데 이 때 생기는 오류다. 프로그래밍 언어를 만들 때, 이 스택 오버플로우가 잘 일어나지 않도록 하는 것도 일이다.

최상위 바이트가 부호를 의미할 경우, 위의 예시에서는 원래 +7이던 값에 1을 더했더니 -8[1]이 되어버린다.

정수의 경우 보통 4바이트(32비트)의 크기의 2의 보수 방법으로 저장되므로, 2^31-1(= 2147483647)보다 큰 수는 저장할 수 없다. 여기에 1을 더하면 -2147483648이 된다. 프로그래밍 할 때, 1에 2를 계속 곱했는데 어느 순간 이상한 음수가 나오더니 0이 되어버리는 것도 오버플로우 때문이다.

많은 사람들이 하는 실수로, 정수의 최소값 (4바이트 정수의 경우 -2147483648) 에서 1을 뺄 경우 2147483647 이 되는것은 언더플로우가 아니라 오버플로우 이다. 산술 언더플로우는 부동소수점 연산에서 지수부가 타입의 한계를 넘어 작아지면 0에 가까워 지다가 결국 0이 되어버리는 현상을 의미한다

프로그램의 안정성과 신뢰성에 직결되는 문제이므로, 이것에 대한 대비(정확히 말하면 메모리 관리)가 얼마나 꼼꼼한지로 프로그래머의 실력을 가늠할 수 있다. 그렇지만 요즘엔 컴퓨터가 정말 좋아서 웬만한건 전부 int, 아니면 float,double로 저장하는 바람에 오버플로우가 잘 안 난다.아니 그냥 안난다고 보는게 낫다...[2]지만
블레이징 소울즈 엑셀레이트라는 게임은 PSP로 이식된 초기판에는 클레이 값이 118을 넘으면 오버플로우가 일어나 100이하로 떨어지는 심각한 사태가 발생했다. 얼마나 심각한지는 잘 모를 수도 있지만 이 작품, 1999년도 아니고 2009년 발매작이다...

osu!도 2147483647점을 넘으면 계속 점수가 역행하다 갑자기 점수가 뚝 떨어지는 것을 볼 수 있다. 현실적으로 21억을 넘는 비트맵은 찾기 힘드니 직접 만들어 Auto play를 해보자.

보다 심각한 문제도 있었는데, 96년 Ariane 5 로켓이 발사후 37초만에 궤도를 벗어나 자폭하였다. 그 로켓에는 무려 5억달러짜리 통신위성이 탑재되었기때문에 당연히 피해막심이었는데, 나중에 조사해본 결과 컴퓨터로 조종되던 엔진 노즐에 잘못된 데이터가 전송된 때문이었고, 그 이유는 64비트 부동소수점 데이터를 16비트 정수형 데이터로 변환하는 과정에서 생긴 오버플로우였다. 원래 그 코드는 Ariane 4 에서 가져온 코드였는데, 당시 학자들은 Ariane 4 의 속도는 절대 16비트 정수형의 최대값을 넘지 못할것을 알았기때문에 최적화의 이유로 16비트 정수형을 사용했던것이고, Ariane 5 는 안타깝게도 Ariane 4 보다 5배가 빨랐기때문에 그걸 넘었던것.

2.1 관련항목[편집]

3 일본의 게임회사[편집]

도쿄의 치요다구에 본사를 둔 게임 회사로 아쥬, 니트로 플러스와 함께 치요다구 연합이란 연합에 소속되어 있다. 오버플로우의 모 회사 이름은 STACK으로 모 회사 이름과 합치면 'Stack Overflow'라는 에러 메시지 이름이 된다.

영문 표기는 Overflow로 하지만 회사의 로고나 홈페이지 도메인엔 숫자 0을 사용한다. 이는 회사를 설립할 즈음, 도메인이 다른 컴퓨터 업체가 선점하여 일어난 해프닝이다.

치요다 구 연합 결성 당시 연합을 이룬 당시부터 같은 연합인 다른 두 제작사(니트로, 아쥬)보다 유명세가 떨어진다는 평가를 들어왔으며 이렇다 할 유명작이 없다는 점을 의식, 자기들만의 아이덴티티를 만들어가다보니 통칭 '토마루 월드'란 이름을 붙인 막장 세계관을 구축해 버렸다.

막장 세계관 '토마루 월드'는 사와고에 토마루라는 설정상의 캐릭터를 만들어, 오버플로우에서 발매한 게임의 세계관은 사와고에 토마루라는 개막장 건달에 의해 세워졌다.라는 것을 기초로 흘러가는 세계관으로 초기에는 배드 엔딩 같은 경우만 막장으로 만들어졌으나 데이즈 시리즈의 성공 요소가 막장이란 것으로 판단, 코믹마켓 행사 등에 더더욱 박차를 가한 막장 엔딩들을 내놓으며 막나가는 설정을 남발했다.

참고로 세계관은 대부분 사와고에 토마루, 이노우 아유무, 하자마 슌의 하렘이 성공하여 이루어졌다.

이 탓인지 2007년에 2ch에서 주최한 에로게 제작사 안티 투표에서 리프, Key, 타입문 등의 유명한 제작사를 누르고 안티수 1위를 차지했으며 약 10개월 동안 1위 자리를 유지했다.(...)

2010년에 발매한 데이즈 시리즈의 최신작인 크로스데이즈와 연동되는 어떤 기구를 발매했는데 말로 설명할 수 없는 포스가 느껴지니 # 한 번 보자. 게다가 본 게임 역시 엄청난 막장이다. 오 마이 숄더!

2012년 2월, 니코니코 생방송을 통해 동년 4월 발매예정인 샤이니 데이즈가 마지막 작품임을 발표했다. 재정난이 심각한 모양. 이를 두고 넷에서는 도산한거 아니냐는 의견이 많지만, 일단 공식 트위터의 답변상으로는 도산까지는 아니라고 한다. 발표된 작품들의 서포트는 계속 실시할 예정이라지만, 에로게 업계를 떠나는 것만큼은 확정된 모양.

이후 사람들에게서 잊혀질 때 즈음인 2013년 연말, 2014년 봄에 신작 아일랜드 데이즈닌텐도 3DS로 출시할 것을 발표했다.

3.1 게임 일람[편집]

밑에 나와있는 작품들은 전부 다 세계관을 공유한다. 참고로 세계관을 공유하지 않는 작품은 유일하게 매지컬☆유니티 뿐이다.

4 창세기전 3: 파트 2의 기술 중 하나[편집]

사이클론 일반형에서 배울 수 있는 어빌리티로, 적에게만 사용 가능하다. 이 어빌리티에 걸린 적은 어빌리티 사용시 필요한 소울치가 증가한다. 가령 살라딘이 걸렸을 경우, 천지파열무에 필요한 소울이 150이 아니라 154, 163 이런식으로 평소보다 더 많은 소울이 필요하게 된다는 것이다. 또한 기술 레벨에 따라 증가하는 필요 소울치의 양이 증가한다.

그러나 사실상 필요 없는 기술. 솔직히 적군이 쓰는 경우는 한없이 드물고, 설령 적군이 아군한테 사용한다고 해도 캐릭터가 전체 공격 기술을 두세 개씩 보유하고 있는 데다가 평타만으로도 충분히 다 때려잡을 수 있는 창세기전 3: 파트 2에서는 별 의미도 타격도 없다.

과거 창세기전 아레나가 서비스될 때 아주 가끔 쓰는 경우도 있었다. 그러나 역시나 사용 빈도는 매우 적었다, 차라리 리미트플로우를 더 많이 쓰는 편.

또한 상당히 유저들의 짜증을 사고 있는 기술이기도 하다. 창세기전 3: 파트 2에서 군단필살기, 어빌리티, 공격력 등으로 가장 쓸만한 군단 중 하나인 바루스 슬레이어의 용병 캐릭터 '스턴'이 이 기술을 가지고 있는데, 이 양반이 소울 채워지면 평타 때릴 생각은 안 하고 허구헌 날 오버플로우만 쓰고 있다. 근데 더 열받는 건 시전 시간도 꽤 길다는 것. 다른 아군들이 평타 다 때리고 대기하고 있는데 스턴 혼자 오버플로우를 쓰는 경우가 대다수이다.

5 GUN X SWORD에 등장하는 설정[편집]

갈고리 손톱의 남자의 습격에 의해 빈사상태가 되고, 그를 살리기 위해 가드베드는 반을 개조하고 단 오브 서즈데이에 그를 등록하게 된다.

하지만 그는 본디 다른 네오 오리지널 7의 멤버들처럼 개조 없이 오리지널을 조종할 수 있는 체질이었고(자세한 것은 항목 참조), 그런 그가 개조된 끝에 발현된 미지의 가능성.

본편 마지막에서 등장하여, 실제로 어떤 능력인지 정확히는 알 수 없지만 여러 요인에 의해 발현된 미지의 가능성이라는 점에서, 컴퓨터 프로그램의 오류인 1번이 모티브인 듯 싶다(실제로 컴퓨터 프로그램에서 오버플로우가 발생한 경우 예측하지 못한 오류가 발생한다).

뭐……뭐냐, 이건?!

오버……플로우…….

뭐라고?

아마도…… 결번 멤버는 원래부터 개조 따위 하지 않아도 (갑주를) 움직일 수 있는 힘이 있었다고 밖에는……. 마더의 기술과 새로운 가능성의 융합…….

  1. 보통 10000....은 0을, 01111...은 -1을 의미한다. 때문에 최소값의 절대값이 1 크다
  2. 물론 상업적인 프로그램을 제작하는 실무 프로그래머들에게 있어 사소한 오버플로우, 또는 프로그램의 의도치 않은 동작을 절대로 놔두어서는 안된다. 사소한 버그가 치명적인 보안 취약점이 되어 해커들에게 이용당할 수 있기 때문이다. 단순한 정수 오버플로우 역시 보안 취약점을 야기할 수 있다.
  3. 오버플로 현상을 활용해 이스터 에그를 만들었다. 처음에는 진짜 버그인척 했지만, 이미 소스코드를 본 사람들은 이스터 에그인줄 알았다. 자세한 내용은 유튜브 특별 서비스 단락을 참고.
  4. 지금의 호전적인 간디는 사실 오버플로우 때문에 생긴 것이었다. 원래 문명 1에서의 간디는 호전성이 가장 낮은 1이었는데 민주주의를 채택하여 호전성이 2만큼 떨어지게 되자 오버플로우가 일어나 호전성이 가장 높은 255가 된것.
  5. 참고로 LOST M과 더붙어 토마루 쪽의 혈통이 전혀 등장하지 않고, 세계관만 공유되는 작품.
  6. 겟츄 한정 판매이다.
  7. 주인공은 '카츠라 코코로'의 친구인 '이이 우즈키'의 오빠인 듯 하다.
랜덤