[Java] 변수 초기화에 대한 이해
·
Java
문득 알고리즘 문제를 풀다 변수 초기화에 대해서 의문을 품게 되었었다. (1) 문제 발생import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int f = scanner.nextInt(); int len = Integer.toString(n).length(); String result = ""; // 의문을 갖게 된 부분 String text = ""; // 의문을 갖게 된 부분 for(int..
[Java] Annotation 이란? ( 애노테이션 )
·
Java
(1) Annotation(애노테이션) 이란?1. Annotation 이란?- 번역기를 통해 변역을 해보면 Annotation은 "주석"이라는 의미를 뜻한다. 2. Java 에서 Annotation이란?- Java에서 Annotation은 메타데이터를 코드에 추가하기 위한 방법으로 쓰인다.- 애너테이션은 클래스, 메서드, 변수, 매개변수 등 다양한 요소에 대한 추가적인 정보를 제공하며, 이러한 정보를 컴파일러나 런타임 환경에서 활용할 수 있도록 하기 위해 사용이 된다. 3. 메타데이터란?- 코드에 부가적인 정보를 제공해주는 데이터를 메타데이터 라고 한다.- 코드에 부가적인 정보를 제공하기 위해선 애너테이션을 붙히게 되는데 애너테이션이 즉, 메타데이터이다.예시를 들면, 도서관의 책이 있고, 해당 책은 데이..
[Java] JVM 동작 원리
·
Java
IDE는 자바 프로그램의 실행 명령어들을 대신 입력을 해주어 명령어를 몰라도 코드를 실행 할 수 있게 해준다. 이러한 추상화 덕분에 편리하지만 이러한 지식 없이 자바를 공부한다면 공부의 효율성이 떨어질 수 있다는 단점이 있다. JVM(Java Virtual Machine) 동작 원리JVM은 "java ClassName" 명령어를 통해 실행을 시킬 수 있게 된다. ClassName은 반드시 main 메서드가 들어있는 주 클래스여야 한다. JVM이 실행이 된 후 JVM의 부트스트랩 클래스 로더가 필요한 클래스 파일인 java.lang 패키지의 클래스 파일들을 먼저 로드 해준다. 이후, 애플리케이션 클래스 로더가 main 메서드 주 클래스를 로드를 해주게 된다. 이러한 과정이 다 끝나면, JVM은 main 메..
[Java] 클래스와 객체의 정의
·
Java
(1) 클래스와 객체 붕어빵틀? 붕어빵?클래스와 객체를 설명할 때 붕어빵틀과 붕어빵으로 주로 예시를 든다. 해당 예시는 솔직히 처음 배우는 입장에서는 전혀 예시를 통해 이해를 하기가 쉽지는 않을 것이다. 예시를 든 이해보다는 정확한 이해를 하기 위해 여기서 예시는 생략한다. (2) 클래스와 객체란?클래스란?자바 언어를 활용해 코드를 작성하다 보면, 해당 코드를 작성할 파일이 필요하다. 해당 파일 내부에 class 키워드가 붙으면 해당 파일은 자바 소스코드를 작성할 수 있는 클래스 파일이 된다. 이것이 클래스이다. 객체란?자바에서는 new 키워드를 이용해 객체를 생성할 수 있다. 런타임에 하나의 클래스를 가지고 동일한 객체들을 여럿 생성할 수 있게 된다. 즉, 객체는 클래스의 정보를 토대로 동적으로 만들어..
[Java] 상속 ( Extends )
·
Java
확장(Extends) == 상속(Inheritance)자바에서 확장(상속)은 클래스와 클래스간의 관계를 의미하며 상속은 부모 클래스가 자식클래스에게 메서드나 필드를물려 주는것을 의미한다. ( 상속을 하는 쪽의 클래스를 부모클래스, 상속을 받는 클래스를 자식클래스라고 말한다. ) 자바에서 상속보다는 확장이라는 표현을 하는 것이 더 올바른 표현이다.이유는 부모클래스가 진짜 부모로 만들어진 객체 클래스 자식클래스가 진짜 자식으로 만든 객체 클래스로 가정을 해보자부모의 역할을 상속받는다고 자식클래스가 부모가 될 순 없다. 이 말은 상속이라는 것은 올바르지 않은 표현이며, 확장이라는 표현이 올바른 표현이 된다. 확장은 부모클래스에게 받은 것들을 자식클래스에서 확장하여 이용할 수 있는 것이다.  # 상속을 알기에 ..
[Java] 예외 ( Exception )
·
Java
목차   ●  1. Error & Exception.    ●  2. 예외(Exception)    ●  3. 예외처리(1) try & catch    ●  4. 예외처리(2) try & catch    ●  5. 예외 처리 catch문 유용한 메서드    ●  6. 예외 종류( CheckedException & UnCheckedException )    ●  7. final구문   ●  8. throws구문  1. Error & Exception자바에서는 문제를 크게 Error, Exception 두 가지로 구분을 한다. 1. Error개발자가 직접 처리할 수 없는 문제를 의미한다. ( 메모리, 운영체제, 하드웨어, 외부적인 요인으로 생기는 문제 )즉, 작업을 하는 환경의 문제가 생긴 것을 의미하며 ..