
static과 메모리의 관계메인 클래스는 왜 객체 생성없이(new) 실행이 되나요?1. JVM이 실행할 클래스를 찾는다. 찾았다면?2. static 키워드가 붙어있는 멤버들을 정해진 메모리(static-zone) 위치에 한번 자동으로 로딩한다.-> static 멤버들은 클래스를 사용하는 시점에서 딱 한번 메모리에 로딩된다는 점이 중요하다.-> 여기서는 main() 메서드가 static 이기 때문에 메모리에 자동으로 로딩한다.3. JVM이 static-zone에서 main()메서드를 호출한다.4. 호출된 메서드를 Call Stack Frame Area(Stack Area)에 push(기계어코드를 넣고) 한 뒤 동작을 시작한다. Call Stack Frame Area- 메서드가 호출되면 호출된 기계어 코드..
정보 은닉(Information Hiding)이란 ? 다른 객체에게 자신의 정보를 숨기고 자신의 동작, 기능, 연산만을 통해 접근을 허용하는 것으로, 클래스 외부에서 특정 정보에 접근을 막는다는 의미 private 접근 제한자 - 객체 사용(접근)할 수 없음, this는 할 수 있음 setter 메서드로 값을 저장하고 set + 멤버변수의 첫 영문을 대문자로 만들기ex) p.setName();getter 메서드로 값을 얻어오고 get+ 멤버변수의 첫 영문을 대문자로 만들기ex) p.getName(); PersonVO p = new PersonVO(); PersonVO() - 생성자 메서드 public class PersonVO { private String name; private in..

객체(클래스) 상호간에 접근제어가 필요한 이유? - (객체보호?) 접근제어(Access Modifier)란? 객체 상호간에 접근을 제어하는 방법(클래스 상호간에) - 4가지의 접근제한자(Access Modifier)를 사용한다. 클래스를 설계할 때 고려해야한다. 클래스와 클래스 내부에서 만들어지는 멤버에 접근 제한자를 사용할 수 있다. public : 모든 패키지에서 접근 가능, 모든 클래스는 public, 모든 멤버 메서드는 public private : 모든 패키지에서 접근 불가, 자기 자신만 접근 가능, 모든 멤버변수는 private protected : 상속관계에서 하위클래스에서 상위클래스 접근가능 default : 동일한 패키지에서만 접근 가능(단어로 존재하지 않음) - 클래스 앞 접근제한자를 ..