패키지는 유관한 클래스들의 묶음이다.클래스가 파일 시스템에서 파일이고 패키지는 파일 시스템에서 폴더이다.클래스의 full name은 패키지명 + 클래스이름이다. ex) java.lang.Stringrt.jar는 Java API의 기본 클래스들을 압축한 파일주석제외 소스
Oracle Java SE 8 Fundamentlas (Oracle University 교재)객체지향의 사실과 오해, 조영호class 키워드를 이용해서 정의한다.관습적으로 대문자로 시작한다. 카멜케이스를 주로 사용public: modifier멤버 변수 혹은 필드로 불리
일반 클래스 상속은 extends 인터페이스 구현은 implements 키워드를 사용한다.기존 클래스를 재사용해서 새로운 클래스를 만든다.객체를 생성할 수 없는 추상 클래스를 상속해서 객체 생성 가능한 클래스를 만들 수 있다.인터페이스를 구현해서 객체간의 프로토콜(규약
제목만 봐도 배가 부른 느낌이다라고 육성으로 소리내서 말했다.선언만 있고 구현은 없는 메서드를 추상 메서드라고 한다.abstract 키워드 사용클래스가 블루프린트라면 추상클래스는 미완성 설계도이다. 하나 이상의 추상 메서드를 포함하면 추상클래스가 된다.(스펙) 인터페이
컴파일 에러: 컴파일에 실패하고 클래스를 생성하지 못함. 실행 불가능런타임 에러: 컴파일은 정상적으로 되지만 실행할 때 발생하는 에러error and exception(출처: https://speakerdeck.com/gousiosg/exception-hand
프로세스: 실행중인 프로그램스레드: 스케쥴러에 의해 관리될 수 있는 가장 작은 코드 실행의 단위, 일반적으로 OS에서 지원해 준다.https://en.wikipedia.org/wiki/Thread\_(computing)프로세스를 하나 실행하면 리소스 + 메인
열거형C 언어에도 있었던 그것 (동작은 조금 다르다)관련된 상수들을 같이 묶어 놓은 것type-safeenum Enum이름 { 상수1, 상수 2, ... }보통의 클래스와 달리 public으로 선언 가능사용하다 보면 enum에 해당하는 값이 필요한 경우가 종종 생기는데
주석과 비슷하지만 주석과 달리 런타임시 JVM에 유지 가능위키의 정의가 제일 유용한 것 같다.필요에 따라 런타임시 JVM에 유지할 수 있고, 리플렉션을 이용해서 읽고 추가적인 작업이 가능하다.발음이 어렵다. 미국사람들은 애(아에 살짝 가까운)너테이션, 영국사람들은 아노
오늘은 좋아하는 IO를 다루는 날이다. 졸리더라도 참고 본방사수하자!Java에는 Standard IO와 NIO(New IO)가 있다. NIO는 잘은 모르지만 기존의 표준 IO를 개선하기 위해 생겨났을 거라고 추측한다. NIO는 asynchronous + non-bloc
클래스를 정의할 때 타입을 매개변수로 넘겨준다.컴파일시에 매개변수로 넘겨준 타입을 체크한다.- 자바 1.5부터 도입되었다. 타입 안정성을 높여준다캐스팅, 타입체크를 생략하므로 코드가 간결해지고, 가독성도 높아진다.형변환과 관련된 런타임 오류를 컴파일 타임에 잡을 수 있
자바의 메소드는 일급객체가 아니기 때문에 매개변수나 리턴값으로 사용할 수 없다.매개변수로 메소드가 필요한 경우 유사한 방식으로 익명클래스를 사용할 수 있지만, 코드가 복잡해진다.람다 도입 이후로 익명 클래스 대신 람다식을 사용할 수 있게 되었고 코드가 간결해졌다.람다식