자바 36

Java | 접두사와 접미사로 진수, 타입 표현하기

접두사 접두사를 사용하여 8진수(0), 16진수(0x), 2진수(0b)를 표현할 수 있다. int num = 10; int num1 = 010; // 8 (8진수) int num2 = 0x11; // 17 (16진수) int num3 = 0b0011; // 3 (2진수) 접미사 정수 리터럴은 기본적으로 int 형을 표현하므로, long이나 float과 같은 타입을 명시하기 위해서는 접미사를 사용한다. 예를 들어, long a = 3000000000;과 같은 경우 정수(int)로 잡히게 되는데, int는 약 22억까지 표현 가능하므로 범위 밖의 수가 되어버린다. 이를 long 타입으로 만들고 싶으면 long a = 3000000000L; 과 같이 접미사 L을 써주면 long 변수로 잡히게 한다. long ..

개발_웹/Java 2019.05.10

Java | 오버라이딩 (overriding, 재정의)

메소드 오버라이딩 (재정의) 슈퍼 클래스의 메소드를 재정의 하는 것. 슈퍼 클래스의 메소드를 무시하고 서브 클래스에서 오버라이딩된 메소드가 무조건 실행되도록 동적으로 바인딩(binding) 된다. 오버라이딩의 조건 1. 슈퍼 클래스의 메소드와 완전히 동일한 메소드를 재정의한다. (이름, 리턴타입, 파라미터) 2. 슈퍼 클래스의 접근 지정자보다 접근의 범위가 좁아질 수 없다. (부모 default -> 자식 default, protected, public 가능) 3. static, private, final로 선언된 메소드는 오버라이딩 할 수 없다. * 오버라이딩 된 메소드에서 슈퍼클래스의 메소드를 호출하려면 super를 사용한다. @Override func() { super.func(); }

개발_웹/Java 2019.05.10

Java | this, super / this(), super()

1. this 현재 객체의 주소(레퍼런스). 현재 객체 내의 멤버에 접근한다. 2. super 현재 객체의 슈퍼 클래스 영역의 주소. 슈퍼클래스의 멤버에 접근한다. 오버라이딩 된 메소드는 동적 바인딩되어 서브클래스의 메소드를 호출하므로, 슈퍼클래스의 메소드를 호출하려면 super 키워드를 사용해야 한다. 오버라이딩 시, 기존 부모클래스의 메소드 기능은 유지하되 기능을 추가하고 싶을 때 사용 func() { super.func(); // 부모 메소드의 기능 유지 // 자식만의 코드 } 3. this() - 생성자에서 동일한 클래스 내의 다른 생성자를 호출 시 사용. - 생성자 코드에서만 사용 가능하며, 생성자 코드의 첫 번째 문장에 쓰여야 함 public class Memo { String title; D..

개발_웹/Java 2019.05.09

Java | 예외 처리 (try-catch, throw, throws)

try-catch문 프로그램의 실행 중에 비정상적인 상황이 발생할 경우에는 실행이 중지되고, Exception 객체나 Error 객체가 생성됩니다. try-catch문은 예외(non runtime exception)가 발생할 수 있는 코드를 처리해주는 문법입니다. * catch 문은 여러개 쓸 수 있고, Java7부터 | 연산자로 여러 개의 예외를 괄호안에 넣을 수 있습니다. throws Exception 이 메소드에서 Exception이 발생하면 상위 메소드로 던집니다. throw 에러를 생성하여 catch로 던집니다. catch throw가 던진 에러를 받아 처리합니다. 여기서 throw하면 throws를 통해 상위 메소드로 넘깁니다.

개발_웹/Java 2019.05.09

Java | for-each 반복문

for-each 문 JDK 5.0 버전부터는 향상된 for 문(for-each 문)을 지원하고 있습니다. for (변수타입 변수이름 : 배열이름) { // 작업 } for-each 문 에서는 배열의 항목 수만큼 실행부분을 반복하는데 반복이 이루어질 때마다 배열의 항목을 순서대로 꺼내어 변수(number) 에 자동으로 대입해 줍니다. 따로 반복 변수(int i) 를 선언하거나 배열의 값을 가져오는 부분(array[i]) 없이 실행부분에서는 하고자 하는 작업에 집중할 수 있습니다. 자바 for each 문을 사용할 때 주의해야 할 점은 오직 배열의 값을 가져다 사용(read)할 수만 있고 수정(write)할 수 는 없다는 것 입니다. public class ForTest { public static void..

개발_웹/Java 2019.05.09

Java | 날짜, 시간 (currentTimeMillis(), SimpleDateFormat)

currentTimeMillis() 현재 시간을 구하는 메소드. currentTimeMillis()의 리턴형은 long 값이며, 1/1000초의 값을 리턴한다. 이 메서드를 통하여, 현재 시간을 계산 할 수 있고, 프로그램의 실행 시간 또한 나타낼 수 있다. public class trunc_tweet_tag { public static void main(String[] args) { long time = System.currentTimeMillis(); SimpleDateFormat dayTime = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss"); String str = dayTime.format(new Date(time)); System.out.println(str);..

개발_웹/Java 2019.05.09