접근제어자 종류 public protected default private private 같은 클래스가 아니면 접근 불가능 default 같은 클래스면 접근 가능 같은 패키지면 접근 가능 다른 패키지 이면서 상속 관계가 아닌 경우 접근 불가능(관계없음) 다른 패키지 이면서 서브 클래스면 접속 불가능 protected 같은 클래스면 접근 가능 같은 패키지면 접근 가능 다른 패키지 이면서 상속 관계가 아닌 경우 접근 불가능(관계없음) 다른 패키지 이면서 서브 클래스면 접근 가능 public 모두 접근 가능 종류 public protected default private 같은 패키지, 같은 클래스 허용 허용 허용 허용 같은 패키지, 상속 관계 허용 허용 허용 불용 같은 패키지, 상속 관계 아님 허용 허용 허용..
다형성 하나의 타입에 여러 객체를 대입할 수 있는 성질 구현 방법 Overriding 상위 클래스의 메서드를 하위 클래스에서 재정의 Overloading 여러 타입을 받아들여 같은 기능을 하도록 만드는 작업 소스코드 class Cal { public int sum(int v1, int v2) { return v1 + v2; } // Overloading public int sum(int v1, int v2, int v3) { return v1 + v2 + v3; } } class Cal3 extends Cal { public int minus(int v1, int v2){ return v1 - v2; } // Overriding public int sum(int v1, int v2){ System.out..
static과 non-static의 차이 static : class 소속, 같은 메모리에 저장되기 때문에 값이 변하면 다른 객체에도 영향을 준다. non-static : instance 소속, 다른 메모리에 저장되기 때문에 값이 변해도 다른 객체에 영향을 주지 않는다. 소스코드 class Print { public String delimiter; public void a() { System.out.println(this.delimiter); System.out.println("a"); System.out.println("a"); } public void b() { System.out.println(this.delimiter); System.out.println("b"); System.out.println..
primitive와 non primitive primitive : 원시 데이터 타입, 더 이상 쪼갤 수 없는 데이터 ex)boolean, int, double, short, long, float, char non primitive : primitive 외의 데이터 타입 ex)String, Array, Date, File 등 ==과 equals의 차이점 원시 데이터 타입의 비교 : 값이 같다면 같은 저장소에 저장되기 때문에 비교 연산이 가능 a==b 비원시 데이터 타입의 비교 : 값이 같아도 다른 저장소에 저장되기 때문에 equals라는 method를 이용해서 비교한다. a.equals(b) 소스코드 int p1 = 1; int p2 = 1; System.out.println(p1 == p2); //tru..