본문 바로가기
반응형

Language252

자바 클래스, 객체, 인스턴스 구분하기 먼저 클래스란 메소드와 변수를 담아놓은 집합인데 이걸로는 아무것도 할 수가 없다 클래스를 설계도(Blueprint)라고도 하는데 클래스를 객체화(인스턴스화) 해야 명명한 클래스 타입의 값(위 스샷에서는 ot)로 사용을 할 수 있다 다음으로 객체와 인스턴스는 매우 유사하기 때문에 구분을 하는 것이 큰 의미가 없는데 다만 그래도 구분을 해 보자면 클래스를 특정 이름으로 선언만 했을때는 객체라고 하고 그 객체 안에 값을 넣어줬을 때를 인스턴스라고 한다 구분을 지을 수 있긴 하지만 Stack overflow를 뒤져보고 구글링을 해 본 결과 객체와 인스턴스는 동일하다고 봐도 되며 객체라고 말하는 사람이나 인스턴스라고 말하는 사람이나 동일한 의미로 사용하고 있으므로 객체라고 말하면 나도 따라서 객체라고 맞춰주고 인.. 2019. 10. 12.
자바 객체화(인스턴스화) 알아보기 위 스크린샷을 보면 ObjectTest 클래스 영역에 정의한 i를 출력하려고 해도 에러가 뜨면서 출력이 되지 않는 것이 보이는데 i로 선언한게 없는데 i 값을 어떻게 가져옴? 이런 에러가 뜨는 것이다 클래스는 메소드와 변수들을 모아 놓은 설계도(Blueprint)에 불과하기 때문에 객체화를 해서 클래스의 정보들을 객체 안에 담아줘야 사용 가능한데 현재는 객체화를 하지 않고 클래스에 들어있는 값을 가져오려고 하니 안되는거다 따라서 객체화를 해 줘야하는데 객체화는 어떻게 하냐면 일단 ObjectTest 타입의 ot를 선언하고 ot = new ObjectTest(); 를 해 줘서 ot 안에 ObjectTest 클래스의 정보를 넘겨준다는 얘기다 설명을 위해서 두개로 쪼갰는데 대부분의 경우에는 ObjectTest.. 2019. 10. 12.
자바 this, super 차이 알아보기 자바의 this부터 먼저 알아보자면 왼쪽 스크린샷에서 클래스 영역의 변수 value는 10으로 주고 ThisSuperTest 를 객체화하면서 파라미터에는 1을 넣어 줬는데 생성자에서 이 1을 value로 받아 사용하기에 실제 value를 호출해보면 클래스 영역에 정의한 10이 호출되는 것이 아니라 파라미터로 넣은 1이 호출이 된다 이제 우측의 스크린샷을 보면 동일한 이름의 value 변수여도 this. 를 붙여주면 클래스 영역에 정의한 value 변수를 호출해서 10이 호출되는 것이 보인다 즉 this.는 동일한 이름의 변수가 사용될 경우 클래스 영역에서 정의한 변수를 식별하기 위해 사용한다는 것! 다음으로는 super인데 super는 상속받은 메소드나 변수를 호출할 때 사용한다 보면 ThisSuperT.. 2019. 10. 11.
자바 오버라이드, 오버로드 차이 알아보기 Parent 클래스를 Child 클래스가 상속(extends) 받은 뒤 Child 를 c라는 이름으로 객체화해서 c의 call 메소드를 호출하는 코드인데 이 코드를 가지고 오버라이드와 오버로드의 차이를 알아보자 먼저 오버라이드(Override)인데 Child 클래스에도 동일하게 call 메소드를 작성하고 call method를 호출하니 처음 스크린샷처럼 Parent 클래스의 call method가 호출되는 것이 아닌 Child 클래스의 call method가 호출되는데 오버라이드란 부모 클래스에 정의되어 있는 메소드명을 자식 클래스에서 동일하게 작성한 것을 말하는 것이다 여기서 동일한 이름의 메소드 호출 시 부모 메소드가 아닌 자식 메소드가 호출된다 다음은 오버로드(오버로딩)인데 오버로드란 동일한 이름의.. 2019. 10. 10.
자바 Statement PreparedStatement 차이 알아보기 Java에서 Statement와 PreparedStatement중 골라 사용하라 하면 대부분 그냥 PreparedStatement를 사용하라고 할텐데 문제는 왜 PreparedStatement를 써야하냐는 것이다 먼저 Statement는 파라미터( SQL에 ? 들어가는 부분, 매개 변수라고도 함)를 전달해줄 수 없기 때문에 파라미터를 전달해주려면 이런 식으로 사용해줘야 한다 쓰기도 불편하고 쿼리문 수행 시마다 매번 컴파일을 하기 때문에 해당 쿼리문을 여러번 수행하는 경우 효율이 떨어진다 Statement를 사용하는 것이 좋은 경우는 Dynamic Query(Query문에 ?(파라미터)가 들어가는)를 사용하지 않는 Normal SQL Query시 사용하는 것을 권장하는데 SQL 문으로 단 한번만 조회하거나.. 2019. 10. 7.
자바 메소드(Method)란 무엇인가? 면접에서 면접관이 메소드가 뭔가요? 이렇게 물어보는 경우가 있는데 이게 뭐 어렵다고 싶은 사람이 많겠지만 몰라서 검색하는 것 아니겠는가 메소드가 뭔지 개념을 한번 알아보자 메소드 하면 붕어빵과 붕어빵 틀 쿠키와 쿠키틀 학원에서 이렇게 알려주는데 ~와 틀만 생각나지 전혀 도움이 안된다 메소드란 무엇인가? 메소드는 기능이다 뭔가를 받아서 뭔가를 한 뒤에 뭔가를 반환하는 역할로 주로 쓰여지게 되는데 예제는 자바로 한번 알아보자 여기서 메소드를 사용하기 전에 객체화를 해줘야 하는데 객체화를 해야 특정 클래스에 있는 메소드를 사용할 수 있다 예제에서 보이는 내용은 MethodExample이라는 객체를 me 라는 이름으로 새로 정의해서 사용하겠다 이런 말이다 MethodExample 안에 test_method라는 .. 2019. 9. 30.

반응형