public 과 private는 이전에 다루었다.그렇다면 protected란 정확히 무엇일까?? 상속에서, 부모클래스를 상속받은 자식클래스는, 부모클래스에 있는 모든 변수 및 메소드에 접근이 가능하지만 딱 하나!! 접근할 수 없는게 있다.바로 private 접근제어자가 붙은 변수와 메소드인데, private의 특성이 외부클래스에서 접근이 불가능하게 하는것이기 때문에 이해가 간다. 그럼 평소에는 private 접근제어자가 붙은것 처럼 사용되다가, 상속받은 자식 클래스에서 만큼은 public 처럼 동작하게 하고 싶을떄는 어떻게 할까? 답은 protected 이다. protected 접근제어자는 평소에는 private 처럼 변수나 메소드가 타 클래스에서 직접적으로 . 을 이용해 호출하는 것을 막지만, 자신을 ..
스태틱(변수 및 메소드)은 여러개의 객체를 만들었어도 메모리 공간이 딱 하나인 것을 의미한다 스태틱(변수 및 메소드) 호출방법은 2가지.1. 객체 생성(new로) 후 접근2. 객체 생성 전 접근 일반적인 변수나 메소드들은 객체생성 후 접근이 가능하다.그 말은 객체가 생성된 후에 변수의 메모리가 생긴다는 의미인데,스태틱은 특이하게도 객체 생성 전에도 접근이 가능하다. --> 결국 스태틱은 객체 생성 전에 메모리가 생긴다는 얘기가 된다. 하단의 예시를 보자public class StaticObj () { public static String staticVar = "스태틱변수 테스트";} 1.객체 생성 후 접근 -> 객체를 생성하여 해당 객체의 이름으로 StaticVar 변수에 접근하는 방법StaticObj ..
public class Person {public String name;public int age;private double weight;} public class Test {public void main (String[] args) {Person people = new Person();people.name = "John";people.age = 20;people.weight = 65.8;}} 상단의 코드를 진행하면 어떤 결과가 나올까?정답은 " PrivateAccess 에러 " 이다. private로 선언된 weight의 변수에 접근하려고 하니 저런 에러가 발생하는 것이다. 실제로 이클립스에서는 people.weight = 65.8을 넣을때 "The field Person.weight is not vi..