The 29-year-old, who earned his 50th cap for Northern Ireland last season, was a free agent following five years with the Dons and has chosen to move to Asia for the next step in his career.
A link with K-League club Gwangju came about because the father of McGinn’s former Celtic team-mate Ki Sung-yueng is the club’s president.
Ki’s father met McGinn in Belfast and persuaded a player whose career began in his native Northern Ireland to become the first from his country to play for Gwangju.
In a post on Twitter, McGinn said: “I am absolutely delighted to have signed for Gwangju FC.
“Since I met the club president a few weeks ago in Belfast I have been researching Asian football and Korean football in particular. I have been very impressed with what I have discovered.
“This is a new, exciting challenge for me, one that is very different to anything I have experienced in my career to date.
“When I joined Aberdeen in 2012 I had no idea of the great times that lay ahead. I want to thank Craig Brown, Archie Knox, Derek McInnes and Tony Doherty. I also want to thank all other staff at the club.
“The fans at Aberdeen also deserve immense credit and thanks. They took me to their hearts and I took them to mine.
“After five great years I am moving on but I will always remember my Aberdeen days very fondly. Without hesitation I can say that I will always be an Aberdeen fan.
“I am looking forward to continuing my career at Gwangju FC. I am the first Irish player ever to have signed for a Korean club.
“I will give this club the same effort and commitment I have given my other clubs to date and I’m sure I will pick up a few words of Korean along the way.”
McGinn, who turns 30 later this month, scored 10 or more league goals in four of his five years with the Dons and won the Scottish League Cup in 2014.
He has been a mainstay in Michael O’Neill’s Northern Ireland squad too, though has often been deployed as a substitute, and it was from the bench when he scored against Ukraine at Euro 2016.
McGinn joins a Gwangju team that are bottom of the 12-team K-League table after 17 games.