Imprimindo Valor de memória

Eai pessoal!

Estou iniciando no mundo Java e estou com uma dificuldade em realizar um pequeno programinha em estrutura de dados.

1 - Crie uma classe Carro com atributos nome, cor e velocidade máxima
2 - Crie uma Classe estacionamento que contenha vários carros
3 - Crie alguns carros e adicione a classe Estacionamento
4 - Imprima os carros estacionado em estacionamento

Criei o seguinte código abaixo, porém, quando eu chamo o System.out.println(est1.getCarros()); ele me retorna os valores na memória, sei que é algo bem simples para quem tem mais experiência na linguagem, mas busquei na documentação e não consegui resolver. Podem me ajudar.

package estacionamento;

public class Carro {

	private String cor;
	private String placa;
	private Integer velocidadeMax;

	public Carro() {
		super();
	}

	public Carro(String cor, String placa, Integer velocidadeMax) {
		super();
		this.cor = cor;
		this.placa = placa;
		this.velocidadeMax = velocidadeMax;
	}

	public String getCor() {
		return cor;
	}

	public void setCor(String cor) {
		this.cor = cor;
	}

	public String getPlaca() {
		return placa;
	}

	public void setPlaca(String placa) {
		this.placa = placa;
	}

	public Integer getVelocidadeMax() {
		return velocidadeMax;
	}

	public void setVelocidadeMax(Integer velocidadeMax) {
		this.velocidadeMax = velocidadeMax;
	}

}

package estacionamento;

import java.util.ArrayList;
import java.util.List;

public class Estacionamento {

	private List<Carro> list = new ArrayList<>();

	public List<Carro> getCarros() {
		return list;
	}

	public void setCarros(List<Carro> list) {
		this.list = list;
	}
	
	public void imprimeCarros() {
		for (int i = 0; i < list.size(); i++) {
			System.out.println(list.get(i));
		}
	}
	
}

package estacionamento;

import java.util.Arrays;

public class App {

	public static void main(String[] args) {

		Carro c1 = new Carro("Preto", "abc-2031", 230);
		Carro c2 = new Carro("Branco", "abc-2345", 220);
		Carro c3 = new Carro("Azul", "abc-2567", 190);
		Carro c4 = new Carro("Amarelo", "abc-6731", 90);
		Carro c5 = new Carro("Prata", "abc-2891", 190);
		Carro c6 = new Carro("Preto", "abc-0931", 180);
		Carro c7 = new Carro("Verde", "abc-1231", 170);
		
		Estacionamento est1 = new Estacionamento();
		
		est1.setCarros(Arrays.asList(c1, c2, c3, c4, c5, c6, c7));
		
		System.out.println(est1.getCarros());

	}

}

===============================================================

Valor imprimido no console:

estacionamento.Carro@3830f1c0
estacionamento.Carro@7d6f77cc
estacionamento.Carro@5aaa6d82
estacionamento.Carro@73a28541
estacionamento.Carro@6f75e721
estacionamento.Carro@69222c14
estacionamento.Carro@606d8acf

Você já pesquisou sobre FileHandling ? pelo que entendi você quer armazenar os dados, salvar no caso? se sim entao uma boa seria armazenar em txt e pegar os valores e alterar os valores do documento, eu consegui fazer mas de acordo com a minha necessidade, mas eu usei ArrayList

Eai Biribs!

Então, para armazenar em arquivo eu consigo sim, mas minha intenção é fazer algo apenas em memória mesmo.

Obrigado pela alternativa!

Sobrescreva o método toString na sua classe Carro!