클래스를 통해서 객체가 생성되고,


객체 내부에 주소가 생성되고,


주소 내부에 데이터 영역과, 메소드 영역이 있다.



객체가 생성된 후에,


주소를 찾아가서 데이터 영역을 생성,변경할 수 있고,


메소드를 호출할 수 있다.


리턴값이 있을경우 리턴 받을 수 있다.



결론. 주소를 잘 기억하는것이 중요하다.



중괄호 블록 기준으로 안에서 선언된 변수는 밖에서 쓸 수없다.


중괄호 블록 기준으로 밖에서 선언된 변수는 안에서 쓸 수있다.



User u01


user class data type으로 u01 객체 참조 변수를 선언한다.


new User();


User 메소드 생성자로 새로운 객체를 생성하고,


생성된 주소값을 u01 객체 참조변수에 주소 값을 할당한다.




찾아볼 것들


참조 data type


class data type


객체 참조 변수


new


생성자 메소드


선언 -> 생성 -> 할당


주소값


data영역


method 영역


메소드 호출


=============================================================


Order wow = new Order();


u_print(wow);



public static void u_print(Order getu) {

}


문제) u_print메서드 내에서 수량과 단가를 셋팅 후


수량 * 단가 계산된 결과만 출력해 보세요


수량변수명 : a

단가변수명 : b



public static void u_print(Order getu) {

getu.a = 20000;

getu.b = 5;

System.out.println("수량 * 단가 = " + getu.a * getu.b);

}

'프로그래밍 > 요약' 카테고리의 다른 글

9일  (0) 2018.05.03
8일  (30) 2018.05.02
7일  (30) 2018.05.01
6일  (0) 2018.04.30
5일  (0) 2018.04.27


getParameter : 


rerurn 값이 문자열 (String)인것만 받을 수 있음.


주로 쿼리 스트링 값을 받는데 사용함







getAttribute : 


return 값으로 object를 사용 가능하므로 객체를 담을 수 있음.


object type을 사용하기 때문에 객체를 담는데 주로 사용한다.




1. 데이터의 리턴 타입을 모를때 확인 하는 방법.



aaa.getAbc()의 return 객체를 모른다고 할때

Object obj = abc.getAbc();
일단 모든 객체는 Object을 상속 받기 때문에 return 값을 Object로 받습니다

System.out.println("return type=" + obj.getClass().getName());
받은 객체가 어떤 객체인지 이름을 찍습니다.




2. JAVA에서는 메모리 주소를 직접 다루는 것이 허용되지 않음.


findViewById();라는 펑션의 Return Type이 View Class인데 , 이 return 값을 받는 쪽은 어째서 Type이 View 혹은 ,, textView 등 View를 상속받은 Data type이어야 하나요? 어차피 주소값이 날라오는거 아닌가요? 그냥 Int나 float이 그 주소값을 받아버리면 안되나요? 주소값이랑 그 주소에 있는 Data의 Type이 어디에 Match되어 저장되어 있는건가요??? 그 Type이라고 하는것은 Data의 크기 그 이상의 의미를 갖고 있는건가요?



자바에서는 메모리 주소를 직접 다루는 것을 허용하지 않습니다. 달리말하면 C/C++처럼 주소를 직접적으로 다루는 인터페이스를 제공하지 않는다라고 이해할 수 있습니다. 따라서 말씀하신 int, float으로 주소값을 받아서 객체를 조작하는 것은 불가능합니다.

자바에서는 객체를 변수에 할당 시 해당 객체에 대한 참조를 갖게 됩니다. 이 참조가 객체를 찾아내는 방식이 C/C++관점에서 보면 포인터와 유사하게 동작한다고 이해할 수는 있겠지만 그렇다고 해서 메모리의 주소값을 다룰 수 있는 것은 아닙니다.

3. 

'프로그래밍 > JAVA' 카테고리의 다른 글

Java에서 내 log를 마음대로 출력하는 방법  (0) 2018.09.10
캡슐화(Capsulation)  (0) 2018.08.07
다형성 (polymorphism)  (0) 2018.07.20
상속(Inheritance)  (0) 2018.07.20
클래스 - 다른 클래스의 메소드 호출  (0) 2018.05.17

+ Recent posts