Java로 배우는 객체 지향 프로그래밍 입문
Sani Yusuf
Lead Software Engineering Content Developer

public 속성은 객체 인스턴스로 접근 가능class Car { // Public property public String color;// Public constructor public Car(String color){ this.color = color; } }
public class Main {
// main method
public static void main(String[] args) {
Car myCar = new Car("brown");
// Can access public members
// from object instance
System.out.println(
myCar.color); // Brown
}
}
private 속성은 객체 인스턴스로 접근 불가private 속성은 클래스 내부에서만 사용// Car class class Car { public String color;// Private properties private String model;public Car(String color){ this.color = color; } }
// Main class
public class Main {
// main method
public static void main(String[] args) {
Car myCar = new Car("brown");
// Calling private properties causes errors
System.out.println(
myCar.model); // Java compilation error
}
}
// Car class
class Car {
public String color;
private String model;
public Car(String color){
this.color = color;
}
// Public method
public String getModel(){
return this.model;
}
}
class Car {// Private method, "calculateSpeed" can only be used within "Car" class private calculateSpeed(){ // Trademarked formula code } public int getSpeed(){ // "calculateSpeed" can be used anywhere within "Car" class return this.calculateSpeed(); } }
static 속성은 객체 생성 없이 접근 가능
// Formula class
static class Formula {
// Method for calculating square
static int getSquare(int number) {
return number * number;
}
}
// Main class
public class Main {
public static void
main(String[] args) {
// We can use "getSquare"
// without an object instance
System.out.println(
Formula.getSquare(5)); // 25
}
}
public, private, staticstatic은 인스턴스 없이 클래스 사용 가능Java로 배우는 객체 지향 프로그래밍 입문