Madison is a town in Somerset County, Maine, United States. The population was 4,855 at the 2010 census.