As you may have learned in introductory linear algebra, the objects of a vector space, need not necessarily be vectors. Actually, you may have learned of spaces of polynomials. So, you must be aware, that the space of functions may also serve as a vector space.
You can also define operators that work on functions, transforming them into another function. (Just like a matrix transforms a vector into another vector) Examples for such transformations may be: the derivative, the anti-derivative or even the fourier transform.
Knowing this, you may already have the intuitive definition of what eigenfunctions are (analogous to eigenvectors), but lets go over it:
An eigenfunction of an operator T:V->V (V being your function space) is a function f satisfying the equation [tex]Tf=\lambda Tf[/tex] for some scalar [tex]\lambda[/tex]. [tex]\lambda[/tex] is called the eigenvalue of the operator.
The action of finding one operator's eigenvalues and eigenfunctions is called Diagonalization (borrowed from the diagonalizing of matrices).
Diagonalizationis a very useful tool in the solution of Partial Differential Equations, where you want to express the functions of the problem using series of eigenfunctions (off course you will need to define the operator which you are diagonalizing), which simplifies the problem.
For me the most noticable field in which diagonilization (of function operators) is heavily used, is Quantum Mechanics, especially when the operator in consideration is the Hamiltonian. The solution of a quantum mechanics problem is usually finding the eigenvalues and eigenfunctions (often called eigenstates) of the Hamiltonian. The eigenvalues of the Hamiltonian represent the allowed energies of the system, while the eigenstates, or some combination of them, are identified with some probability distribution.
An eignefunction is the analogous thing to an eignevector, for a continuous system represented by an ordinary or partial differential equation.
For example, if you take a string under tension and fixed at both ends, you can divide the string into short segments and set up matrices representing the mass and stiffness of the string. If you want to find solutions which represent vibration of the string, you have an eigenvalue problem. The eigenvalues represent the frequencies for which vibration can occur and the corresponding eigenvectors represent the shapes of the different modes of vibration.
Alternatively you can set up a PDE that represents the dynamics of the string and look for solutions that represent continuous vibrations. Again, you will find that non-zero solutions are only possible for at some particular frequencies. These frequencies are called the eigenvalues of the PDE with the given boundary conditions, and the corresponding solutions (which again represent the vibrating shapes of the string) are called the eigenfunctions.