Java (23) 썸네일형 리스트형 [Java] 접근 제어 지정자 같은 클래스 같은 패키지 자식 클래스 전체 public O O O O protected O O O X default O O X X private O X X X [Java] Interface package org.opentutorials.javatutorials.interfaces.example1; interface I{ public void z(); } class A implements I{ public void z(){} } 클래스 A 뒤의 implements I는 이 클래스가 인터페이스 I를 구현하고 있다는 의미 그것은 3행의 interface I의 맴버인 public void z() 메소드를 클래스 A가 반드시 포함하고 있어야 한다는 뜻 [Java] final final 변수 package org.opentutorials.javatutorials.fanalTest; class Calculator { static final double PI = 3.14; int left, right; public void setOperands(int left, int right) { this.left = left; this.right = right; Calculator.PI = 6; //error } public void sum() { System.out.println(this.left + this.right); } public void avg() { System.out.println((this.left + this.right)/2); } } public class Calcul.. [Java] abstract package org.opentutorials.javatutorials.abstractclass; abstract class A { } public class AbstractTest { public static void main(String[] args) { A obj = new A(); } } Exception in thread "main" java.lang.Error: Unresolved compilation problem: Cannot instantiate the type A 에러가 뜬다 메소드 중에 1개라도 abstract 메소드가 있으면 클래스도 abstract 클래스가 되어야 한다. package org.opentutorials.javatutorials.abstractclass; abstrac.. [Java] 클래스 접근 제어자 public, default 두개가 있다. public 클래스는 다른 패키지의 클래스에서 사용 가능 default 클래스는 같은 패키지에서만 사용 가능 [Java] 메서드 접근 제어자 package org.opentutorials.javatutorials.accessmodifier; class Test { public String y() { return "public void y()"; } private String z() { return "private void z()"; } public String x() { return z(); } } public class AccessDemo { public static void main(String[] args) { Test t = new Test(); System.out.println(t.y()); //System.out.println(t.z()); //error System.out.println(t.x()); } } 출력값 public v.. [Java] overloading 오버로딩 package org.opentutorials.javatutorials.overloading; class Calculator { int num1, num2; int num3 = 0; public void setOprands(int num1, int num2) { System.out.println("setOprands 2"); this.num1 = num1; this.num2 = num2; } public void setOprands(int num1, int num2, int num3) { System.out.println("setOprands 3"); this.num1 = num1; this.num2 = num2; this.num3 = num3; } public void sum() { System.out.. [Java] overrding 오버라이딩 package org.opentutorials.javatutorials.overriding; class Calculator { int left, right; public void setOperands(int left, int right) { this.left = left; this.right = right; } public void sum() { System.out.println(this.left + this.right); } } class CalculatorChildClass extends Calculator { public void sum() { System.out.println("값 은 " + (this.left + this.right)); } } public class CalculatorMain .. [Java] 생성자, super package org.opentutorials.javatutorials; public class ConstructorTest { public static void main(String[] args) { ConstructorTest c = new ConstructorTest(); } } 위는 에러가 안난다. ConstructorTest 객체를 생성할 때 자동으로 생성자를 만들어주기 때문 package org.opentutorials.javatutorials.Inheritance; public class ConstructorTest { public ConstructorTest(int param) {} //error public static void main(String[] args) { Constructor.. [Java] 생성자 package org.opentutorials.javatutorials.constructor; class Calculator { int left, right; public Calculator(int left, int right) { this.left = left; this.right = right; } public void sum() { System.out.println(this.left + this.right); } public void avg() { System.out.println((this.left + this.right)/2); } } public class CalculatorDemo1 { public static void main(String[] args) { Calculator c1 = ne.. 이전 1 2 3 다음