Programming/Java 20

Reflection

- Reflection * Reflection에 필요한 클래스는 java.lang.reflect 패키지에서 제공 * Reflection은 객체를 통해 클래스의 정보를 분석하는 프로그램 * 컴파일 타임에 인터페이스, 필드, 메소드의 이름을 알지 못해도 실행 중에 접근 가능 * Reflection을 사용하는 것은 Composition과 함께 사용되어 다형성을 구현하기 위해 사용 * @Target Annotation은 method에 적용한다는 의미 * @Retention Annotation은 runtime 시까지 어노테이션 정보를 유지 * 사용자 정의 Annotation인 PrintAnnotation을 생성 * annotation을 정의한 class인 PrintAnnotation을 적용 * @Retention..

Programming/Java 2019.03.03

Java 제어문 - 다중 for문

-다중 for문 구조 a가 단수를 나타내고, 그 안의 b, c, d 등 값을 조정해주면 구구단 생성 가능. -> 특히 System.out.println(a + "x" + j + "=" + (a*j)); a*j는 괄호()쳐놓지 않으면, 죽죽 이어져버리기 때문에 값이 제대로 나오지 않는다. a값이 for문 안에 선언됐다. 따라서 구역 밖에 있는 마지막 System.out.println(a)에서는 값이 출력되지 않는 에러가 발생한다. 이를 해당 블럭 내에서만 사용가능한 변수, '지역 변수'라고 부른다. 이 문제를 해결하고 싶다면, for문 바깥에 독립적인 int a; 를 만들어주면 값이 나온다.

Programming/Java 2017.09.24

Java 제어문 - switch case문

[조건문-Switch] - if문의 조건문은 boolean인데 switch문의 조건값은 long형을 제외한 정수형 또는 char. - 지정된 case(결과)로 바로 가서 그 이후의 케이스들을 모두 실행하는 것. -구조 - switch 값에 해당하는 케이스가 없고, default 없으면 아예 결과 값이 안뜹니다. - if문 같은 경우엔 if 구역, else 구역이 나누어져 있지만, switch는 아님니다. - case의 범위를 지정하고 싶으면 원하는 case 구역과, 원하지 않는 case 구역 사이에 'break'문을 넣어주면 됩니다. ex) switch문으로 학점 구하기 -> int / int 의 상황이기 때문에 어차피 소수점이 무의미하다. 따라서 case도 모두 정수. -> 속도가 if문 코드보다는 빠..

Programming/Java 2017.09.24