Java : An Object-Oriented Language

In Java, most variables and literals are objects An object is an instance of a class

class Employee{
	String name;
    public void setName(String name){
		this.name = name;
	}
	public String getName(){
		return this.name;
	}
}

public class Lecture{
	public static void main(String[] args){
	Employee m = new Employee(); // 이게 바로 object, instance
	}
}

Class Definition

한개의 .java 파일 내에는 여러개의 class가 정의 가능 하지만 오지 하나의 클래스만이 public class 이름을 달을 수 있음 또한 public class 내에는 main method가 들어가 있어야 함

원래는 다음의 과정을 거치었어야 함

$ javac Lecture.java
=> javac 로 컴파일 하면 .class 파일이 생성됨

$ java Lecture
=> main method of class 가 실행됨

하나의 클래스 안에는 변수와 함수가 정의되어야 함

class Employee{
	String name; // variable of class
    public void setName(String name){ // method of class
		this.name = name;
	}
	public String getName(){
		return this.name;
	}
}

Instance Variable

  1. public : __같은 패키지, 서브 클래스, 다른 클래스__에서 접근 가능(1등)
  2. protected : __같은 패키지, 서브 클래스__는 접근 가능(2등)
  3. 그냥 이름 : __같은 패키지__에 있는 클래스에서 사용가능(3등)
  4. private : 정의 된 클래스에서만 접근 가능(4등)
public void setName(String name){ // method of class
		this.name = name;
	}

되어 있는 것을 볼 수 이는데 이것은 매개변수와 클래스 인스턴스변수를 구분하기 위한 자기 클래스에 존재하는(this) 이라는 명령어이다.

Access Modifiers