As of the census of 2000, there were 28,587 people, 11,623 households, and 7,380 families residing in the town. The population density was 2,727.0 people per square mile (1,053.2/km²). There were 11,945 housing units at an average density of 1,139.5/sq mi (440.1/km²). The racial makeup of the town was 90.51% White, 2.31% Black or African American, 0.09% Native American, 5.06% Asian, 0.01% Pacific Islander, 0.77% from other races, and 1.25% from two or more races. Hispanic or Latino of any race were 1.65% of the population. 34.7% were of Irish, 14.8% Italian, 5.4% American and 5.0% English ancestry according to Census 2000.
There were 11,623 households out of which 27.2% had children under the age of 18 living with them, 50.9% were married couples living together, 9.9% had a female householder with no husband present, and 36.5% were non-families. 29.4% of all households were made up of individuals and 12.0% had someone living alone who was 65 years of age or older. The average household size was 2.41 and the average family size was 3.05.
In the town the population was spread out with 20.8% under the age of 18, 6.4% from 18 to 24, 33.2% from 25 to 44, 22.1% from 45 to 64, and 17.6% who were 65 years of age or older. The median age was 39 years. For every 100 females there were 89.7 males. For every 100 females age 18 and over, there were 86.5 males.
The median income for a household in the town was $58,421, and the median income for a family was $70,164 (these figures had risen to $66,743 and $80,292 respectively as of a 2007 estimate). Males had a median income of $50,597 versus $34,312 for females. The per capita income for the town was $27,720. About 2.7% of families and 4.4% of the population were below the poverty line, including 6.5% of those under age 18 and 3.9% of those age 65 or over.