안녕하세요. 개발토끼입니다.


오늘은 자바 개발자로 취업하기 위해 도움이 되는 포스팅을 해볼까 합니다. 


그 일환으로 제가 공부한 내용 중에 하나씩 하나씩 문제로 만들어서 자바 프로그래밍 문제은행을 만들려고 합니다. 


물론, 개인적으로 공부하기 위함으로 시작한 것이지만, 블로그가 많은 분들이 보는 공공 공간이므로 자바 프로그래밍을 공부하는 모든 분들에게 도움이 되었으면 좋겠습니다. 


오늘은 그 첫번째 시간으로 간단한 문제 하나를 내보도록 하겠습니다. 



Q. 문제 - 다음 코드를 실행 했을 때 실행 결과로 옳은 것을 고르세요.

public class Main {
    public static void main(String[] args) {
        String one1 = "one";
        String one2 = new String("one");
        String one3 = "one";

        if(one1 == one2){
            System.out.println("one1과 one2는 동일합니다.");
        }else{
            System.out.println("one1과 one2는 다릅니다.");
        }

        if(one1 == one3){
            System.out.println("one1과 one3는 동일합니다.");
        }else{
            System.out.println("one1과 one3는 다릅니다.");
        }
    }
}


(1) one1과 one2는 동일합니다. one1과 one3는 동일합니다. 


(2) one1과 one2는 동일합니다. one1과 one3는 다릅니다.


(3) one1과 one2는 다릅니다. one1과 one3는 동일합니다. 


(4) one1과 one2는 다릅니다. one1과 one3는 다릅니다.




답은 무엇일까요? ㅎㅎㅎ


이런 방식의 문제가 사실 음... 프로그래머 취업시 면접 문제로 나올지는 의문이지만, 그래도 프로그래머가 되고자 한다면


프로그래밍에 대해 정확히 아는 것이 중요하겠죠?


이 문제를 내는 저도 정확한 답을 맞추진 못했었습니다. 


하지만, 공부를 하고 나서 이젠 이해하게 되었습니다. 



# 힌트

 == 연산자는 내용을 비교하기 보다 해당 변수들의 메모리 주소값을 비교 한다고 보시면 됩니다. 


답안과 해설은 다음 시간에 설명드리겠습니다. 


급하게 답안이 필요하신 분들은 댓글을 남겨주세요. 


만약 컴퓨터 이용이 가능하시면 직접 위의 코드를 작성하셔서 결과를 보셔도 무방합니다.



다음 시간엔 더 참신한 문제와 해설로 돌아오겠습니다. 


감사합니다.



+ Recent posts