지수 성장과 로지스틱 성장 — 환경수용력이 만드는 S자
송준호(송쌤)송쌤생명과학입시연구소 대표
칠판에 그래프 두 개를 그려 놓고 묻습니다. 하나는 하늘로 치솟는 J자, 하나는 올라가다 납작해지는 S자. "둘 중 어느 쪽이 실제 개체군인가요?" 대부분 S자를 고릅니다. 맞아요. 그런데 다음 질문에서 갈립니다. "그럼 J자는 왜 배웁니까? 틀린 그래프면 지우면 되잖아요."
여기에 이 단원의 핵심이 들어 있습니다. J자는 틀린 그래프가 아니라 아무것도 막지 않았을 때의 모습이에요. 그리고 S자는 그 J자에 현실이 브레이크를 건 결과입니다. 두 곡선의 차이를 식이 아니라 "무엇이 다른가"로 읽으면 이 단원은 절반 이상 끝납니다.
먼저 J자 — 아무것도 막지 않으면 이렇게 된다
지수 성장(exponential growth)은 개체마다 번식률이 일정하게 유지될 때 나타나는 성장입니다. 먹이도 공간도 무한하고, 질병도 포식자도 없다고 가정한 이상적 상황이에요. 그래서 이상적 성장이라고도 부릅니다.
핵심은 늘어난 개체들도 곧바로 번식에 참여한다는 점입니다. 10마리가 20마리가 되면, 다음 번식은 20마리가 합니다. 그래서 개체 수가 커질수록 같은 시간 동안 늘어나는 '양'이 점점 커져요. 비율은 일정한데 증가량은 폭발합니다.
여기서 학생들이 가장 많이 틀리는 지점을 짚어야 합니다. 지수 성장에서 개체당 증가율은 변하지 않습니다. 변하는 건 전체 증가량이에요. 곡선이 위로 휘는 걸 보고 "증가율이 점점 커지는 거네요"라고 말하면 반쯤만 맞습니다. 정확히는 증가율은 그대로인데 곱해지는 개체 수가 커져서 그렇게 보이는 겁니다.
J자 곡선이 실제로 관찰되는 경우도 있어요. 새로운 서식지에 처음 들어간 외래종, 항생제가 없는 배지에 접종된 세균, 개체 수가 극히 적은 상태에서 회복되기 시작한 보호종. 공통점은 "당분간은 제약이 실질적으로 없는 상황"입니다. 하지만 이 상태는 오래가지 못해요. 이유는 뻔합니다. 지구도, 연못도, 배지도 유한하니까요.
브레이크가 걸린다 — 환경저항과 환경수용력
개체 수가 늘면 현실의 제약이 하나씩 작동하기 시작합니다. 먹이가 부족해지고, 자리가 모자라고, 노폐물이 쌓이고, 질병이 잘 퍼지고, 포식자가 몰려듭니다. 이렇게 개체군의 성장을 억제하는 요인들을 묶어서 환경저항이라고 불러요.
환경저항이 커지면 무슨 일이 일어날까요? 출생률이 떨어지고 사망률이 올라갑니다. 둘이 같아지는 순간 개체 수는 더 이상 늘지 않아요. 그 지점의 개체 수가 환경수용력(carrying capacity, K)입니다.
K를 "그 서식지에 들어갈 수 있는 최대 마리 수"라고 외우는 학생이 많은데, 조금 더 정확히 잡아 둡시다. K는 주어진 환경이 지속적으로 부양할 수 있는 개체 수예요. 여기에는 두 가지 함의가 있습니다.
- K는 고정된 상수가 아닙니다. 비가 많이 온 해에는 먹이가 늘어 K가 올라가고, 가뭄이 들면 내려갑니다. 서식지가 파괴되면 K 자체가 줄어들죠. 그래프에서 점선으로 그어 놓으니 상수처럼 보이지만, 실제로는 환경이 결정하는 움직이는 값입니다.
- K는 종마다 다릅니다. 같은 숲이라도 곤충의 K와 호랑이의 K는 자릿수가 다릅니다. 한 개체가 필요로 하는 자원의 양이 다르니까요.
그래서 S자 — 로지스틱 성장
로지스틱 성장(logistic growth)은 환경저항이 함께 작동하는 현실적 성장입니다. 그래서 실제적 성장이라고도 해요. 그래프는 S자(시그모이드)를 그리고, 구간마다 성격이 다릅니다.
| 구간 | 개체 수 | 증가 속도 | 무슨 일이 일어나는가 |
|---|---|---|---|
| ① 지연기 | 매우 적음 | 느림 | 번식할 개체 자체가 적어서 더디다 |
| ② 가속기 | 늘기 시작 | 점점 빨라짐 | 번식 개체는 늘었는데 자원은 아직 넉넉하다 |
| ③ 변곡점(K/2 부근) | K의 절반쯤 | 가장 빠름 | 개체 수와 남은 여유의 곱이 최대가 되는 지점 |
| ④ 감속기 | K에 접근 | 느려짐 | 환경저항이 본격적으로 걸린다 |
| ⑤ 정체기 | K 부근 | 거의 0 | 출생률 ≒ 사망률, 개체 수가 유지된다 |
세 번째 줄, 변곡점을 꼭 짚어 두세요. 시험에 자주 나옵니다. 개체 수가 K의 절반쯤일 때 증가 속도가 최대입니다. 왜냐고요? 증가 속도는 번식할 개체가 얼마나 많은가와 아직 남은 여유 공간이 얼마인가를 곱한 것처럼 움직이기 때문이에요. 개체가 너무 적으면 앞항이 작고, K에 너무 가까우면 뒷항이 작습니다. 둘 다 적당히 클 때, 즉 중간쯤에서 가장 빠릅니다.
이 성질은 현실에도 쓰입니다. 물고기나 목재를 지속적으로 수확하려면 개체군을 K 근처에 두는 것보다 중간 수준에서 관리하는 쪽이 회복이 빠릅니다. 개체 수가 많다고 무조건 잘 늘어나는 게 아니라는 뜻이에요.
J자와 S자, 무엇이 다른가
| 구분 | 지수 성장(J자) | 로지스틱 성장(S자) |
|---|---|---|
| 가정 | 자원 무한, 제약 없음 | 자원 유한, 환경저항 작동 |
| 개체당 증가율 | 항상 일정 | 개체 수가 늘수록 감소 |
| 환경수용력 K | 고려하지 않음 | 성장의 상한으로 작용 |
| 증가 속도가 최대인 때 | 가장 나중(계속 커짐) | 개체 수가 K의 절반쯤일 때 |
| 곡선 모양 | 끝없이 치솟는 J자 | K에 수렴하는 S자 |
| 다른 이름 | 이상적 성장 | 실제적 성장 |
표를 외우기 전에 한 줄로 잡아 두면 좋습니다. 두 곡선의 진짜 차이는 "개체 수가 늘어나는 것이 증가율에 영향을 주는가"입니다. J자는 영향을 주지 않고, S자는 준다고 봅니다. 뒤의 글에서 다룰 밀도 의존적 조절이 바로 이 "영향을 준다"의 정체예요.

증가 속도가 가장 큰 곳은 K 가 아니라 K/2 다 — 송쌤생명과학 자체 제작
직접 만져 보세요 — 개체군 성장 시뮬레이션
이 글을 위해 만들어 둔 것이 있습니다. 개체군 성장 시뮬레이션에서 직접 값을 바꿔 보세요. 그래프를 눈으로 따라 그리는 것과, 손으로 K를 움직여 곡선이 따라오는 걸 보는 것은 남는 게 다릅니다.
- 증가율 r을 키워 보세요. 곡선이 더 가파르게 올라가지만, 도착하는 높이는 달라지지 않습니다. r은 "얼마나 빨리 가는가"이지 "어디까지 가는가"가 아니라는 걸 한눈에 알 수 있어요.
- K를 올리거나 내려 보세요. 이번엔 도착하는 높이가 바뀝니다. 목적지를 정하는 건 K입니다.
- 환경저항을 꺼 보세요. S자가 곧바로 J자로 돌아갑니다. 두 곡선이 사실은 같은 식의 특수한 경우라는 게 눈으로 보입니다.
- 반응 시차 τ를 올려 보세요. 이게 다음 절의 주제입니다. 곡선이 K에서 얌전히 멈추지 않고 위로 넘어갔다가 되돌아오며 출렁이기 시작해요.
K를 넘는 개체군 — 과잉 증가와 진동
교과서의 S자는 K에 부드럽게 닿아 멈춥니다. 그런데 실제 개체군을 관찰하면 K를 훌쩍 넘었다가 급격히 떨어지고, 다시 올라갔다 떨어지기를 반복하는 경우가 많아요. 이걸 과잉 증가(overshoot)와 개체군 진동이라고 합니다.
이유는 반응이 늦기 때문입니다. 자원이 이미 부족해졌는데도, 개체군은 곧바로 번식을 멈추지 못해요.
- 이미 태어난 새끼들이 자라서 번식에 참여합니다. 자원이 부족해진 시점과 그 영향이 개체 수에 나타나는 시점 사이에 시간 간격이 있어요.
- 몸에 저장된 에너지로 한동안 버틸 수 있습니다. 굶주림이 사망률로 나타나기까지도 시간이 걸립니다.
그 사이 개체 수는 K를 넘어섭니다. 그런데 K를 넘긴 상태는 자원을 빌려 쓰는 상태예요. 먹이가 바닥나고 서식지가 망가지면 사망률이 급등해서 개체 수가 K 아래로 곤두박질칩니다. 그러면 자원이 회복되고, 개체 수가 다시 늘고, 또 넘고 — 이렇게 K를 축으로 출렁이는 무늬가 생깁니다.
여기서 무서운 시나리오가 하나 있습니다. K를 넘긴 동안 서식지 자체가 망가지면 K가 영구적으로 내려갑니다. 초식동물이 과밀해져 풀뿌리까지 먹어 치우면 초원이 회복되지 않죠. 그러면 개체군은 원래 K가 아니라 낮아진 새 K로 수렴합니다. 이 이야기는 사람의 인구를 다룰 마지막 글에서 다시 나옵니다.
모형은 현실이 아니지만, 현실을 읽게 해 줍니다
로지스틱 곡선이 모든 개체군에 딱 맞지는 않습니다. 계절에 따라 K가 출렁이는 개체군도 있고, 포식자와 함께 주기적으로 오르내리는 개체군도 있고, 개체 수가 너무 적어지면 오히려 번식이 더 어려워져 무너지는 경우도 있어요.
그래도 이 모형을 배우는 이유는 분명합니다. 실제 개체군이 모형에서 벗어날 때, 그 '벗어남'이 무엇을 뜻하는지 물을 수 있게 되기 때문이에요. 곡선이 K를 넘었다면 반응이 늦은 것이고, 정체기에 도달하지 못했다면 아직 환경저항이 약한 것이고, 정체기 높이가 내려갔다면 환경이 나빠진 겁니다. 모형은 답이 아니라 질문을 정확하게 만드는 자입니다.
쌤 한마디 — 그래프 문제를 만나면 저는 축부터 읽게 합니다. 가로축이 시간인지 개체 수인지에 따라 같은 개념이 전혀 다른 모양으로 그려지거든요. 가로축이 시간이면 S자가 나오지만, 가로축이 개체 수이고 세로축이 개체당 증가율이면 오른쪽 아래로 내려가는 직선이 나옵니다. 둘은 같은 이야기를 다른 각도에서 본 그림이에요. 학생들이 "처음 보는 그래프"라며 당황하는 문제의 절반은 사실 이 각도 바꾸기입니다. 축을 먼저 읽는 습관 하나로 절반이 해결돼요.
정리하면
지수 성장은 제약이 없을 때의 모습이고, 로지스틱 성장은 거기에 환경저항이 걸린 결과입니다. 둘을 가르는 것은 개체 수가 늘어나는 것 자체가 성장을 둔하게 만드는가예요. 환경수용력 K는 그 둔해짐이 완전히 멈추는 지점이고, 고정된 상수가 아니라 환경이 결정하는 값입니다.
그리고 현실의 개체군은 반응이 늦어서 K를 넘었다가 되돌아오며 출렁입니다. 시뮬레이션에서 반응 시차를 올려 보면 이 출렁임이 왜 생기는지 몸으로 이해할 수 있어요.
그런데 여기서 한 가지가 빠져 있습니다. 개체군 안의 개체들은 모두 같지 않아요. 어떤 종은 알을 수백만 개 낳고 방치하고, 어떤 종은 한 마리를 낳아 몇 년을 돌봅니다. 다음 글 생존곡선과 생활사 전략에서 이 차이를 다룹니다. 앞 글이 궁금하면 개체군의 밀도와 분포로 돌아가세요.
틀린 내용이나 더 궁금한 점이 있으면 문의하기로 알려 주세요. 확인한 뒤 고치고, 고친 날짜를 위에 남깁니다.
함께 보면 좋은 글
이 개념과 이어지는 글이에요.