개발관련/용어

보일러플레이트 코드란(Boilerplate Code)?

고통받는다 2023. 7. 2. 04:35

이번에는 개발을 하다보면 자주 듣는 용어인 보일러플레이트 코드에 대해 알아보도록 하겠습니다.​

보일러 플레이트란?

 

 

보일러 플레이트는 반복적으로 작성되는 코드, 설정, 구조등을 의미합니다.

즉 여러분이 개발하면서 듣는 보일러 플레이트 코드는 자주 사용되는 패턴이나 코드 구조등을 미리 만들어놓고 재사용함으로써 반복적인 작업을 줄일수 있게 해주는 코드를 말하는 겁니다.​

어원은?

 

이름에서 부터 뭔가 심상치 않습니다.

보일러 플레이트라니... 근데 정말 놀랍게도 이름 그대로 입니다.

보일러 + 플레이트 (강철 판떼기)

이것이 보일러 플레이트

본래 "보일러 플레이트"는 증기 보일러에서 사용되는 금속 판을 뜻합니다.

이러한 금속 판에는 보일러 이름 등 제조 정보가 음악으로 새겨져 있어서 보일러플레이트를 통과한 강철판에는 보일러 이름등이 새겨지게 되었습니다.

(즉 한마디로 제품 품질 보증 같은 개념)

이것이 추후 인쇄 분야로 이어져서 반복적으로 사용하는 텍스트(광고나 로고)를 의미하게 되었습니다.​

보일러 플레이트의 대표적인 코드
public class Person {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Person person = (Person) o;
        return age == person.age && Objects.equals(name, person.name);
    }

    @Override
    public int hashCode() {
        return Objects.hash(name, age);
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

 

JAVA에서 대표적인 보일러 플레이트를 대라고 하면 역시 getter/ sette, equals, hashCode, toString을 들수가 있습니다.

(한번 만들어놓으면 여러곳에서 사용이 가능하죠)

언어의 발전 JDK의 발전으로 해당 보일러 플레이트가 점점 사라지고 있는데 그 대표적인게

JDK 16이상부터 사용 가능한

public record Person(String name, int age) {
}

자바의 Record 클래스

Kotlin의 DataClass 입니다.