본문 바로가기
IT/Java

자바 객체화 알아보기

by flatsun 2019. 1. 13.
반응형

예전에 학교다닐 당시 교수님이 자바 객체화 설명해 주면서

자동차 얘기를 몇번 해주셨던 것 같은데


그때 당시에는 집에 가서 롤 해야지 이 생각밖에 하지 않았으므로

취업할 때 객체화가 뭐죠? 이렇게 면접관이 물어보던데

어.. 자동차.. 어..

이 정도 생각밖에 나질 않더라


어둡던 옛 시절인데


어쨌든 다시 강의시간으로 돌아가서

클래스를 자동차 설계도로 보자면

객체화를 통해 객체로 만들어서 자동차를 만드는 그런 내용이었는데




여기 ObjectTest 클래스( 클래스명은 public class 오른쪽을 확인하자.. ) 에서


String text를 haha로 정의하고 메인 메소드에서 text를 출력하려고 하니

같은 클래스인데도 출력이 안된다!


왜냐면 메인 메소드 안에는 text에 대한 정보가 없기 때문에

text가 없는데 뭘 부르겠다는거요? 이렇게 인지를 한다는 거다


즉 클래스 안에 있다고 해서 메인 메소드에서 바로 갖다 쓰지는 못한다


다시 자동차로 돌아가 클래스가 설계도인데


실제 자동차를 가져오는 메인 메소드에서 설계도를 가져오지 않아

text를 출력하지 못한 것이다!!!!


이제 클래스에서 text를 가져와서 출력을 해야겠는데

클래스명인 ObjectTest의 내용을 메인 메소드에서 쓸 수 있게 하는 것이 객체화!!!


이제 객체화를 한번 해 보자



갖고 올 클래스명 / 변수명 = new / 갖고 올 클래스명();


이런 식으로 작성을 하는데

변수명을 주는 이유는 변수명을 통해 클래스와 메인 메소드를 연결하는 것이다


그래서 보면 객체화를 했지만 여전히 에러가 뜨는 것을 볼 수 있는데

아까 뭘로 클래스와 메인 메소드를 연결했다고 했더라?



객체화를 하면서 준 변수명을 통해 객체와 메인 메소드를 연결한다!!!


ot.text를 하니까 에러 없이 출력이 잘 되는데

클래스와 메소드를 연결해서 사용하려면 객체화를 해야되고

객체화를 하면서 준 변수명을 통해 클래스에 있는 것을 메소드에 갖다가 쓴다!!


근데 여기서 객체화는 지금 쓰는 클래스인 

ObjectTest 클래스만 가져올 수 있는게 아니라

다른 클래스도 갖다 쓸 수 있는데




옛날에 만들어 둔 Bush 클래스에 GarenSaid라는 String 변수가 있는데

거기다가 악행과 싸워라!! 로 값을 줬었었다


근데 다른 클래스인 ObjectTest 클래스에서

메인 메소드 안에 Bush 클래스를 객체화한 뒤

String GarenSaid를 호출하여 악행과 싸워라를 들을 수 있다


이제 자바에서 객체화가 뭔지 감이 오는가?


클래스는 자동차 설계서!!, 객체화를 통해 실제 자동차 구현!!

이런 건 좀 기계적이라 면접관이 객체화 설명해보세요 하면서

자동차 설계서와 자동차, 쿠키틀과 쿠키 이런거는 안됩니다


이런말 하면 바로 퇴장각이라


정확히 개념을 알아야된다


클래스 내에 있는 정보를 메인 메소드에서 바로 갖다 쓸 수가 없으니

객체화( 클래스명 변수명 = new 클래스명() )를 통해 객체와 메인 메소드를 연결해서

지정한 변수명으로 클래스 내의 정보를 갖다가 쓰고


객체화를 통해 메인 메소드 한 곳에서 여러 클래스의 정보를 갖다 쓸 수 있습니다~~


나처럼 이런거 말 못해서 연봉 깎이지 말고 잘 알아두도록 하자


반응형

'IT > Java' 카테고리의 다른 글

자바 배열 알아보기  (0) 2019.01.15
자바 메소드(Method) 알아보기  (5) 2019.01.14
자바 Dead Code 알아보기  (0) 2019.01.12
자바 삼항연산자 알아보기  (0) 2019.01.08
자바 while, do while 알아보기  (0) 2019.01.06

댓글