TIL(2022.02.10)

조지성·2022년 2월 10일
0

TIL

목록 보기
31/78
post-thumbnail

패키지와 import

패키지 : .java 파일의 모임
import
: 다른 패키지에있는 클래스를 사용하고자 할 때 import를 해줌
: 같은 패키지에 있다면 import 필요없음

접근제어자

  1. default 접근제어자 : 동일한 패키지에서만 접근가능
  2. public 접근제어자 : 다른 패키지에서도 접근 가능
  3. private 접근제어자 : 동일한 클래스에서만 접근가능

=> 접근 제어자는 메소드,클래스,변수 앞에 붙일 수 있다.

package ch04.a;

//main이 없기 때문에 실행파일이 아님
public class Cal {
	//default
	int num = 10;
	
	void add() {
		System.out.println("더하기 메서드");
	}
	
	//public
	public void minus() {
		System.out.println("빼기 메서드");
	}
	
    //private
	private void multi() {
		System.out.println("곱하기 메서드");
	}
	
    //같은 클래스 안에서만 사용
	public void divide() {
		multi();
	}
}
package ch04.b; //다른 패키지

import ch04.a.Cal;

// main이 잇는 자바파일을 실행파일이라고 함
public class App {
	
	//JVM이 main메서드를 찾으려면 public이 필요
	//JVM이 main메서드를 찾으려면 static이 필요 (메모리에 올린다는 뜻)
	//main 메서드만 return 타입을 허용하지 않는다.
	//메서드의 이름 main이다.
	// String[] args 매개변수
	public static void main(String[] args) {
		Cal c = new Cal();
		c.minus();
		//같은 클래스가 아니다
		//c.multi();
		//System.out.println(c.num);
	}
}
package ch04.a; // 같은 패키지



// main이 잇는 자바파일을 실행파일이라고 함
public class App2 {
	public static void main(String[] args) {
		//같은 패키지 이므로 import필요없음
		Cal c = new Cal();
		//Cal의 함수의 접근제어가 default 즉 같은패키지내에서는 사용가능하므로 오류X
		c.add();
		c.minus();
		//같은 클래스가 아니다
		//c.multi();
		System.out.println(c.num);
	}
}

라이브러리

  • 라이브러리 : 도구모음? , 현실로 따지면 요리책, 수학책 같은 느낌
  • 패키지 : .java 파일의 모임
  • jar : 패키지의 모임
    jar파일이 실행파일(main) => runnable jar
    jar파일이 실행파일(main X) => jar
  • import : 같은 프로젝트 안에서 다른 패키지의 있는 클래스를 사용하고자 할 때
  • buildPath : 어떤 프로젝트에서 다른 jar를 사용하고자 할 때
//recipe 프로젝트
package recipe;

public class MySoup {
	public void 김치찌개 () {
		System.out.println("김치찌개가 만들어졌습니다.");
	}
}
//test 프로젝트

package ch04;

import java.util.Random;

import recipe.MySoup;

//JDK 설치 - JDK(javac,jave) , JRE(라이브러리) , JVM(자바 가상머신)
public class LibEx01 {
	public static void main(String[] args) {
		//buildPath해서 가져옴
		MySoup m = new MySoup();
		m.김치찌개();
		
		//JRE안에 있음 , 제공된 라이브러리
		Random r = new Random();
		System.out.println(r.nextInt());
	}
}
profile
초보 개발자의 성장기💻

0개의 댓글