why can't i concatenate?

Trying to do a really simple concatenate function and get error that ‘public’ is an unexpected symbol
This is the code:

using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {

// Use this for initialization
void Start () {
	Concatenate ("Judy ", "Rubin");
}

// Update is called once per frame
void Update () {
//function no return
 public void Concatenate (string firstName, string lastName)
	{
		string fullName = firstName + lastName;
			Debug.Log(fullName);
	}
}

Put the Concatenate method outside of the Update method.

using UnityEngine; using System.Collections;

public class NewBehaviourScript : MonoBehaviour {

void Start () {
     Concatenate ("Judy ", "Rubin");
 }

void Concatenate (string firstName, string lastName)
    {
        string fullName = firstName + lastName;
        Debug.Log(fullName);
    }
}

Do not create functions inside the update or start function and also don’t you while(true) inside update…I learned that one the hard way. Also, you do not need the public atribut on a local function(by default it is set to private).