First, let's start with a little terminology: you will almost always hear Communion in the Catholic Church spoken of as received, not taken. That is an important distinction. In the Eucharist, we receive Jesus; He is someone we receive not something we grasp. It is worth keeping in mind that everyone is at the table by grace, not by right. The Eucharist is a gift. We don't take gifts, we receive the, with thanks.
Now let's take a step back and talk a bit about baptism before we talk about communion. It might interest you to know that the Catholic Church views all baptized Christians as part of the one Church (Jesus founded a church not many churches), which subsists in the Catholic Church. In a sense, those who do not profess the Catholic faith are still members of the Body of Christ and therefore, in some way, already part of the Catholic Church though separated by practice and belief:
"....All who have been justified by faith in Baptism are incorporated into Christ; they therefore have a right to be called Christians, and with good reason are accepted as brothers in the Lord by the children of the Catholic Church." CCC 818
However, because non-Catholics do not openly profess belief in the whole of the Catholic faith, they are not in full communion with the Catholic Church. In other words, though they are a member of the Body by virtue of baptism, they have not yet made a public declaration of unity with the Catholic Church, professing to believe all that she teaches.
Such a public profession is very important in life--think for a moment about the difference between a wife and a mistress. A man may relate to each in very similar ways--sharing life and experiences, even having and raising children. But we see the two relationships very differently because of the public commitment that comes with marriage. One is an expression of formal, social and public unity and commitment, the other is not.
For Catholics, the Eucharist is an outward manifestation of our unity in the Church--it expresses, in a way, our joining to Christ as Bridegroom in the wedding feast (..."Blessed are those called to the Supper of the Lamb...). So, unless one has made a public profession of faith and formally entered the Catholic Church, one may not receive the Eucharist. The Eucharist is, in its own way, a declaration of faith: that's one reason we say "Amen!" before receiving--the affirm that we do, indeed, believe we are receiving the Body of Christ.
There's more to receiving communion than being Catholic. Even if Catholic, one should not receive communion if aware of a serious sin for which one has not received absolution. That 's one reason that reception of Communion on Sundays was usually preceded by going to confession on Saturday in the days before Vatican II. These days, such regular confession is not usual but it remains true that receiving when aware of a serious, unabsolved sin is itself a sin.
The prohibition on receiving the Eucharist until fully admitted into the Church can feel pretty unfair to those who already believe what the Church teaches and are awaiting the Easter Vigil to they make a formal profession of faith. Being outside communion can be difficult for those who, for one reason or another, have obstacles to entering the Church and yet accept her teachings. In those circumstances it is helpful to make a spiritual communion, to use the opportunity to remember that we are at the table by grace and not right, to give thanks for Jesus and for the Church in whatever way we can encounter her, to trust in God's mercy, and to pray for a removal of the barriers that prevent full communion. In certain circumstances, a non-Catholic may be given dispensation by a Bishop to receive the Eucharist, but this is rare.
For what it is worth, it is common even for Protestant communities to "fence the table" by practicing closed communion (communion only for members or members in good standing). And a Catholic may not receive communion in a Protestant assembly, because to do so is to make a declaration by act of belief in something contrary to the Catholic faith--remember, for Catholics, receiving communion is an expression of unity, and unity means unity of belief. So, taking communion in a Protestant service is declaring by action a belief in what that particular assembly teaches which is always in some way contrary to Catholic teaching.
When there is no other alternative and the need is urgent, Catholics may receive communion in the Orthodox Church because they retain Apostolic Succession and their Eucharist is sacramentally valid.
For an even better explanation of this, check out this post on Mary's Aggies: http://marysaggies.blogspot.com/2009/11/why-cant-non-catholics-receive.html
Now let's take a step back and talk a bit about baptism before we talk about communion. It might interest you to know that the Catholic Church views all baptized Christians as part of the one Church (Jesus founded a church not many churches), which subsists in the Catholic Church. In a sense, those who do not profess the Catholic faith are still members of the Body of Christ and therefore, in some way, already part of the Catholic Church though separated by practice and belief:
"....All who have been justified by faith in Baptism are incorporated into Christ; they therefore have a right to be called Christians, and with good reason are accepted as brothers in the Lord by the children of the Catholic Church." CCC 818
However, because non-Catholics do not openly profess belief in the whole of the Catholic faith, they are not in full communion with the Catholic Church. In other words, though they are a member of the Body by virtue of baptism, they have not yet made a public declaration of unity with the Catholic Church, professing to believe all that she teaches.
Such a public profession is very important in life--think for a moment about the difference between a wife and a mistress. A man may relate to each in very similar ways--sharing life and experiences, even having and raising children. But we see the two relationships very differently because of the public commitment that comes with marriage. One is an expression of formal, social and public unity and commitment, the other is not.
For Catholics, the Eucharist is an outward manifestation of our unity in the Church--it expresses, in a way, our joining to Christ as Bridegroom in the wedding feast (..."Blessed are those called to the Supper of the Lamb...). So, unless one has made a public profession of faith and formally entered the Catholic Church, one may not receive the Eucharist. The Eucharist is, in its own way, a declaration of faith: that's one reason we say "Amen!" before receiving--the affirm that we do, indeed, believe we are receiving the Body of Christ.
There's more to receiving communion than being Catholic. Even if Catholic, one should not receive communion if aware of a serious sin for which one has not received absolution. That 's one reason that reception of Communion on Sundays was usually preceded by going to confession on Saturday in the days before Vatican II. These days, such regular confession is not usual but it remains true that receiving when aware of a serious, unabsolved sin is itself a sin.
The prohibition on receiving the Eucharist until fully admitted into the Church can feel pretty unfair to those who already believe what the Church teaches and are awaiting the Easter Vigil to they make a formal profession of faith. Being outside communion can be difficult for those who, for one reason or another, have obstacles to entering the Church and yet accept her teachings. In those circumstances it is helpful to make a spiritual communion, to use the opportunity to remember that we are at the table by grace and not right, to give thanks for Jesus and for the Church in whatever way we can encounter her, to trust in God's mercy, and to pray for a removal of the barriers that prevent full communion. In certain circumstances, a non-Catholic may be given dispensation by a Bishop to receive the Eucharist, but this is rare.
For what it is worth, it is common even for Protestant communities to "fence the table" by practicing closed communion (communion only for members or members in good standing). And a Catholic may not receive communion in a Protestant assembly, because to do so is to make a declaration by act of belief in something contrary to the Catholic faith--remember, for Catholics, receiving communion is an expression of unity, and unity means unity of belief. So, taking communion in a Protestant service is declaring by action a belief in what that particular assembly teaches which is always in some way contrary to Catholic teaching.
When there is no other alternative and the need is urgent, Catholics may receive communion in the Orthodox Church because they retain Apostolic Succession and their Eucharist is sacramentally valid.
For an even better explanation of this, check out this post on Mary's Aggies: http://marysaggies.blogspot.com/2009/11/why-cant-non-catholics-receive.html