앞서 @main나 @IBOutlet 과 같이 쓰인 것을 어노테이션이라고 합니다. 사용자가 아닌 컴파일러에게 변수나 메서드의 성격을 알려주는 것입니다.
이 메서드는 빌드될 때 컴파일러가 체크하고 연결 정보를 찾아 인터페이스 빌더의 객체와 서로 연결해줍니다.
전에는 실습을 위해 새로 뷰 컨테이너를 만들어서 뷰 전환을 해 주었는데, 사실 지금까지는 이미지만 바뀌는 상황이라 꼭 새로운 뷰 컨테이너가 있을 필요는 없다고 생각했습니다. 그래서 IBOutlet과 IBAction을 사용해 터치이벤트에 맞춰 background image 만 바뀌면 될 것이라 생각해서 코드를 몇줄 추가해 주었습니다.
나름 mvc 모델을 갖추고자

위와 같이 이미지를 넣어주었습니다. 가사나 애니메이션에 필요한 이미지들도 여기에 추가될 수 있겠네요.
스토리보드에서 드래그 앤 드롭으로 버튼의 아웃렛과 기능을 추가해주었습니다.

아무 이슈 없이 빌드가 되기에 코드가 잘 작동할 것이라 생각하는데 웬열..? 버튼이 클릭되지 않습니다.
원인은 버튼 스타일이 plain으로 되어있었기 때문인데

iOS 14->15로 넘어오면서 button style을 여러개로 바꿀 수 있게 바뀌었더라구요? 기본값이 plain 이고 4개정도가 더 있는데 저의 경우에는 background에 이미지를 추가해서 저 새로운 style들에 포함되지 않아 기능하지 않은게 아닌가 생각합니다. 14버전 이전을 지원하는 앱에서는 default로 바꾸라는 이유도 그 때문인 것 같구요!