본문 바로가기

Java18

public, protected, default, private 접근제한자 접근제한자 적용 범위 제한 범위 public 클래스, 필드, 생성자, 메소드 모든 접근을 허용 protected 필드, 생성자, 메소드 같은 패키지(폴더)에 있는 객체와 상속관계의 객체들만 허용 default 클래스, 필드, 생성자, 메소드 같은 패키지(폴더)에 있는 객체들만 허용 private 필드, 생성자, 메소드 현재 객체 내에서만 허용 public 다른 클래스, 다른 패키지더라도 모든 접근이 가능하다. protected 같은 패키지 내에서만 접근이 가능하고, 다른 패키지의 경우 해당 Class를 상속받은 경우에 접근이 가능하다. default 같은 패키지에서만 접근을 허용하고, 접근 제한자가 생략되어 있을 경우엔 기본적으로 적용이 된다. private 같은 패키지 및 다른 패키지 모두 접근이 불가.. 2021. 12. 31.
자바의 정석 연습문제 4.6 풀이 public static void main(String[] args) { int cnt = 0; for (int i = 1; i 2021. 12. 31.
자바의 정석 연습문제 4.7 풀이 public static void main(String[] args) { String str = "12345"; int sum = 0; for(int i=0; i < str.length(); i++) { sum +=str.charAt(i) - '0'; } System.out.println("sum=" + sum); } sum += str.charAt(i); 을 하게 되면 출력 시 sum= 255가 된다. 이유는 1,2,3,4,5는 아스키코드로 49~53까지이므로 49+50+51+52+53 = 255가 되는 것이다. sum += str.charAt(i) - '0'; 을 하게 되면 (49-48=1) + (50-48=2) + (51-48=3) + (52-48=4) + (52-49=5) 가 된다. 즉, 1+2+.. 2021. 12. 31.
자바의 정석 연습문제 4.2 풀이 2의 배수: 2 4 6 8 10 12 14 16 18 20 3의 배수: 3 6 9 12 15 18 더해야 하는 값: 1 5 7 11 13 17 19 public static void main(String[] args) { int sum=0; for(int i=1; i 2021. 12. 31.