Zac Efron covers the latest issue of Men's Health, and the 24-year-old heartthrob chats about getting in shape for his new movie, The Lucky One, where he plays U.S. Marine Logan Thibault.

Zac tells the mag, "Physically I started eating a lot. Eating through walls. Just eating and eating. That's all I'd do and I put on some weight that way. As far as the training goes, just trying different techniques and methods. It's one of the only concrete things that you can do to feel differently about a character. I didn't feel like a Marine. I didn't have the posture. I didn't feel like I had the presence and that was just one thing for me that I could do to really up that change."

Zac reveals that he gained 17 pounds for the role, but getting into character was about more than just his appearance. "When I went in to meet some of these guys, the sergeants, I was blown away. I was taller than most of the guys, but they were just thick, like there was something about them. They had a definite presence. Here I am, slouched over and I just smile a lot. I'm just always smiling. These guys were always serious. Honestly, it was one of the most awkward moments in my entire life."

The movie hits theaters on April 20 ... will you watch?