프로그래밍 문법/java 9

[java] int의 오버플로우, long 형 변환

int의 범위 자바에서 인트의범위는 -2147483647 ~ 2147483647 이다. 그 이상의 값이 들어가면 에러가 발생하거나 쓰레기값이 나온다. int a = 1233235*2351; System.out.println(a); 결과값 : -1395631811 long 형변환 숫자뒤에 L을 붙이면 형변환이 되고 long타입으로 받을 수 있다. long a = 1233235L*2351L; System.out.println(a); 결과값 : 2899335485 L을 하나에만 해도 된다. long a = 1233235*2351L; System.out.println(a); 결과값 : 2899335485 나누기를 할 경우 곱셈되는 숫자에 L을 붙여줘야지, 나눗셈에 붙이면 또 터진다. long a = 1233..

정적(static) 함수, 변수

정적함수, 정적변수 - 정적함수 : 인스턴스 없이도 사용할 수 있는 함수, 맴버변수를 사용할 수 없다. - 정적변수 : 인스턴스 없이도 접근할 수 있는 변수 - ex) public class CalculationTest { int ans = 4; static String name = "calculater"; //static 함수 static int add(int x, int y) { // return x+y+ans; //맴버변수는 사용할 수 없다. return x+y; } //맴버함수 int subtractFour(int x, int y) { return x-y-this.ans; } public static void main(String[] args) { //함수들의 사용 CalculationTest c..

abstract 클래스

abstract 클래스란? - 상속받는 자식클래스가 반드시 존재해야 하며 하나이상의 abstract 함수가 존재해야 한다. - abstract함수는 부모클래스에서 정의만 하고, 구체적인 로직 구현은 자식클래스에서 한다. 예시 1. 부모클래스(abstract 클래스) - flyable이라는 abstract 함수를 가진다 package com.fastcampus.de.java.clip11_6; public abstract class Bird { private int x,y,z; void fly(int x, int y, int z) { System.out.println("이동"); this.x = x; this.y = y; this.z = z; if (flyable(z)) { this.z = z; } el..

[접근제어자] private, default, protected, public

접근제어자 종류 1. private : 같은 클래스 내에서만 사용할 수 있음 2. default : 같은 package(폴더)에서만 사용할 수 있음 3. protected : 같은 package혹은 상속받은 자식 클래스에서만 사용할 수 있음 4. 모든 클래스에서 사용할 수 있음 예시 package com.fastcampus.de.java.clip11_5; public class AccessModifierTest { private void messageInside() { // private는 같은 클래스에서만 사용 가능 System.out.println("This is private modifier"); } void messageDefault() { // 같은 패키지에서만 사용 가능 System.out...

자바 클래스패스

클래스패스 - 자바로 컴파일 및 자바코드를 실행할 때 다른 디렉토리에 있는 파일의 경로를 지정하는 것. - java 파라미터 (-cp 혹은 -classpath)로 설정가능. - 여러개의 경로는 구분자(windows ";", 유닉스계열 ":")로 구분한다 * cf : 환경변수로 지정된 JAVA_HOME 하위의 lib디렉토리는 지정하지 않아도 클래스패스에 포함됨. 예시 외부 클래스(external이라는 디렉토리에 위치한)를 참조하는 Hello.java를 빌드하기 1. -cp 로 파라미터 외부폴더 external를 경로지정 세팅하고 Hello.java 컴파일 javac -cp ../external Hello.java Hello.class파일 생성됨 2. -cp로 외부폴더 external과 현재경로(.)를 ..