본문 바로가기
기타 개념정리

하드코딩 소프트코딩 뜻부터 예시 정리

by wakestand 2021. 3. 12.
반응형

날코딩이라고도 하는 하드코딩은 엄청 간단한 개념인데

하드코딩의 뜻은 값을 고정시켜 놓는다는 거다

 

위 코드를 보면 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("소프트코딩은 값이 가변적임"));
	}

}
반응형

댓글