반응형
날코딩이라고도 하는 하드코딩은 엄청 간단한 개념인데
하드코딩의 뜻은 값을 고정시켜 놓는다는 거다
위 코드를 보면 hardCoding 메소드를 호출 시
return을 "하드코딩"; 으로 작성했기 때문에
뭔 값을 넣고 호출하건 간에 무조건 "하드코딩"을 리턴한다
반면 하드코딩의 반대말인 소프트코딩은
가변적인 값을 의미하는데
softCoding 메소드 호출 시에
어떤 값을 넣느냐에 따라
넣은 값을 그대로 반환하는 것이 보이는데
즉 소프트코딩이란
값이 고정되지 않고 가변적인 것을 말한다
하드코딩은 값을 고정시켜 놓는 것이기 때문에
상황에 따라 다양하게 값을 리턴해야 하는 경우
자연스럽게 문제가 생기기 때문에 해당 경우에는
하드코딩을 가변적인 소프트코딩으로 변경을 해 줘야한다
그리고 하드코딩 기준을 정확히 몰라
감이 오지 않을 수 있는데
값을 다른 곳에서 변경할 수 없도록
아예 고정시켜 놓으면 그게 하드코딩이고
거기서 끝이라고 보면 된다
마지막으로 예제에 사용한 코드는 아래와 같다
package pack1;
public class Java1 {
// 하드코딩
public String hardCoding(String val) {
return "하드코딩";
}
// 소프트코딩
public String softCoding(String val) {
return val;
}
public static void main(String[] args) {
Java1 j1 = new Java1();
System.out.println(j1.hardCoding("아무거나 넣어도 return은 동일"));
System.out.println(j1.hardCoding("값을 고정시켜 놓은게 하드코딩"));
System.out.println(j1.softCoding("소프트코딩"));
System.out.println(j1.softCoding("소프트코딩은 값이 가변적임"));
}
}
반응형
'기타 개념정리' 카테고리의 다른 글
GIT Tag 개념 정리 (0) | 2021.06.03 |
---|---|
DB Delete 시 Limit을 걸어야 하는 이유 (0) | 2021.06.02 |
개발환경 Local Test Stage Product 차이 정리 (0) | 2021.03.09 |
애자일(Agile) 뜻부터 방법론까지 (0) | 2021.03.09 |
CRON Expression 사용방법 및 생성기 (0) | 2021.02.23 |
댓글