제이슨의 개발이야기

보일러플레이트 코드(Boilerplate code) 란 무엇인가? 본문

컴퓨터과학

보일러플레이트 코드(Boilerplate code) 란 무엇인가?

제이쓰은 2021. 8. 26. 11:44
728x90
반응형

안녕하세요! 오늘은 보일러 플레이트 코드란 무엇인가에 대해서 이야기 하려고 합니다 ㅎㅎ

 

보일러 플레이트 코드란 무엇인가? 

 

최소한의 변경으로 여러곳에서 재사용되는 코드를 말합니다

 

이렇게만 이야기 하면 잘 이해가 안될수 있습니다 가장 대표적인 예로는

 

자바의 Getter, Setter가 대표적입니다

 

Model 객체에 Getter 와 Setter를 정의 해서 

다른곳에서 Getter 와 Setter를 이용해서 값을 넣어주고나 값을 받아오는 경우가 보일러 플레이트 코드 입니다 !

 

보일러 플레이트 코드의 장점은 무엇인가?

 

1. 앞서 이야기 한대로 어떤 변경이 필요한 경우 변경의 횟수를 최소화 시킬 수 있습니다

예를 들어 toString() 을 정의 한다면 

각 필요한 부분에서 toString() 을 정의한다면 

똑같은 코드 즉 toString() 정의하는 코드가 여러군대에 작성 되지만 

어떤 한 Model 의 toString()을 정의 하면 

다른 곳에서 굳이 toString()을 또 정의 할 필요 없이 그대로 사용하면 됩니다! 

그리고 toString() 의 변경이 필요 한 경우 Model 객체 하나의 toString()만 재정의 하면 되므로 굉장히

휴율적으로 작업을 할 수 있습니다!

 

2.반복적인 일을 줄 일 수있다

 

앞서 1번 설명에 포함되있는대 한 곳에 미리 정의를 해놓기 때문에 똑같은 코드를 또 쓸 필요가 없습니다!

 

그러면 단점은 없을까요?

 

단점은 이러한 코드 역시 비효율적이고  리팩토링 하는 경우 이 보일러 플레이트 코드 도 같이 수정해야 하는 경우가 많습니다!

새로운 Data Model을 만들때 Getter 와 Setter을 만들어 주는 것 역시 그렇게 효율적이지 않습니다!

 

이러한 단점을 해결하는 방법은 

자바 같은 경우 어노테이션을 이용해서 보일러플레이트 코드 생성하는 부분을 자동화 하는 방법입니다!

보일러플레이트 코드는 꼭 필요하지만 새로운 Model 을 만들때 마다 일일이 만들어주는 단점을 자동화를 이용해서 해결 할 수 있습니다!

 

두번째 방법은 자동화 시켜주는 플러그인 을 설치합니다

 

대표적인 예로는 LiveTemplate , Lombok 등이 있습니다

LiveTemplate는 적은 타이핑으로 많은 코드를 자동으로 생성해줍니다!

Lombok은 getter,setter, constructor 등을 자동으로 생성해줍니다!

 

세번째는 Java를 사용하시는 유저는 Kotlin을 사용하는 방법입니다

 

Kotlin 을 사용하는 거 자체 만으로 보일러 플레이트 코드를 줄일 수 있습니다!

getter ,setter 역시 자동으로 생성되고 data class를 정의 함에 따라 여러 메소드들이 자동으로 생성되기 때문에 굉장히 작업 효율이 높습니다 

이제 점점 자바에서 코틀린으로 안드로이드 개발 트랜드가 바뀌고 있기 때문에 아직 자바로 개발중인 안드로이드 개발자 분은 코틀린 공부를 하시는걸 추천합니다 ㅎㅎ 

 

마지막으로

 

보일러플레이트 코드는 개발자에게 있어서 절대 나쁜 코드라고 할 수 없습니다!

오히려 일반적으로 재사용을 함으로 써 코드도 줄여주고 개발 시간도 단축할 수 있어서

개발자에게 있어서 꼭 필요한 존재입니다

보일러 플레이트 코드를  여러 플러그인이나 어노테이션 등을 이용해서

 자동으로 생성해서 개발을 한다면 개발 소요 시간은 훨씬 줄일 수 있습니다! 

 

 

 

728x90
반응형