Once Google crawl your webpages and index it on their database, then they will continuously visit your webpages to check weather you have made any changes or not. If you made any changes like changing article paragraph, then they will update that changes on their database.
Now when you remove that webpages, then Google think might be that page will be come back again in future and report you 404 error page in search console, so you know about that. (Generally it's not harmful, you might already read that line). So Here Google don't remove your webpages from their index database, instead they will wait for a long time, may be years, if your site domain information is not changed and you're still owner of that website. And you're domain name is not expired.
If your site domain is expire then Google will know that, yes now that webpage will never come back again, so let's delete it from our database, otherwise they will keep that webpages on their database, even when your site is down for many months, so when your site is down for many months, then Google show it, it's cached version of your website in SERP.
The simple solution is use 410 Gone error, that's error tell Googlebot to, those webpages are gone forever so don't report me 404 error, because they will never come back again.
Use 301 redirection only, if your webpages are similar, otherwise don't use it.