목록Basic (70)
HappyWeasel

왜 사용하는가? 컴파일 언어의 기본은 모든 에러는 컴파일이 발생할 수 있도록 유도해야 한다는 것이다. 런타임은 실제로 애플리케이션이 동작하고 있는 상황이기 때문에 런타임에 발생하는 에러는 항상 심각한 문제를 초래할 수 있기 때문이다. 특징 : 컴파일 단계에서 오류가 검출된다. 중복의 제거와 타입 안전성을 동시에 추구할 수 있게 되었다. 제너릭은 기본 데이터 타입은 사용할 수 없다. -> java에는 기본 데이터 타입을 참조형 데이터 타입으로 변경 시키주는 wrapper 객체가 있다. 이를 이용하여 기본 데이터 타입도 사용가능하다. class EmployeeInfo{ public int rank; EmployeeInfo(int rank){ this.rank = rank; } } class Person{ p..
아래의 두 코드는 동일한 의미를 가진다. class Fruit{ public static final Fruit APPLE = new Fruit(); public static final Fruit PEACH = new Fruit(); public static final Fruit BANANA = new Fruit(); } enum Fruit{ APPLE, PEACH, BANANA } APPLE 가져오기. Fruit f = Fruit.APPLE; 생성자 설정하기 enum Fruit{ APPLE("red"), PEACH("pink"), BANANA("yellow"); private String color; public String getColor(){ return this.color; } Fruit(Strin..
보호되어 있는 글입니다.
출처 : https://jeong-pro.tistory.com/85 String, StringBuffer, StringBuilder의 장단점 및 차이점 자바에서 String과 StringBuffer, StringBuilder의 차이점을 알아본다. 이들의 공통점은 모두다 String(문자열)을 저장하고 관리하는 클래스들이다. 어떤 차이점이 있을까? String과 (StringBuffer, StringBuilder)의 차이점은 String은 immutable(불변)하고 StringBuffer, StringBuilder는 mutable(가변)하다는 점이다. 쉽게 말해서 String은 new 연산을 통해 생성되면 그 인스턴스의 메모리 공간은 절대 변하지 않는다. 그래서 + 연산이나 concat을 이용해서 문자열..
람다식이란? 기존의 객체지향이 아닌 함수지향 프로그래밍 방법이다. 익명 함수(anonymous function)을 이용하여 익명 객체를 생성한다. public interface LambdaInterface1 { public void method (String s1, String s2, String s3); } public interface LambdaInterface2 { public void method (String s1); } public interface LambdaInterface3 { public void method (); } public interface LambdaInterface4 { public int method (int x, int y); } public class excute {..
abstract class A{ public abstract int b(); //본체가 있는 메소드는 abstract 키워드를 가질 수 없다. //public abstract int c(){System.out.println("Hello")} //추상 클래스 내에는 추상 메소드가 아닌 메소드가 존재 할 수 있다. public void d(){ System.out.println("world"); } } class B extends A{ public int b(){return 1;} } public class AbstractDemo { public static void main(String[] args) { //A obj = new A(); B obj = new B(); System.out.println(ob..
출처 : https://wikidocs.net/208 사람’을 예로 들면 누구든지 "이름" = "홍길동", "생일" = "몇 월 몇 일" 등으로 구분할 수 있다. 자바의 맵(Map)은 이러한 대응관계를 쉽게 표현할 수 있게 해 주는 자료형이다. 이것은 요즘 나오는 대부분의 언어들도 갖고 있는 자료형으로 Associative array, Hash라고도 불린다. 맵(Map)은 사전(dictionary)과 비슷하다. 즉, people 이란 단어에 "사람", baseball 이라는 단어에 "야구"라는 뜻이 부합되듯이 Map은 Key와 Value라는 것을 한 쌍으로 갖는 자료형이다. key value people 사람 baseball 야구 Map은 리스트나 배열처럼 순차적으로(sequential) 해당 요소 값을..

출처 : https://wikidocs.net/257 JVM JVM은 자바 가상머신(Java Virtual Machine)의 약자. JVM은 자바 소스코드로부터 만들어지는 자바 바이너리 파일(.class)을 실행할 수 있다. JVM은 플랫폼에 의존적이다. 즉 리눅스의 JVM과 윈도우즈의 JVM은 다르다. 단, 컴파일된 바이너리 코드는 어떤 JVM에서도 동작시킬 수 있다. JVM은 다음과 같은 역할을 한다. 바이너리 코드를 읽는다. 바이너리 코드를 검증한다. 바이너리 코드를 실행한다. 실행환경(Runtime Environment)의 규격을 제공한다. (필요한 라이브러리 및 기타파일) JRE JRE는 자바 실행환경(Java Runtime Environment)의 약자. JRE는 JVM 이 자바 프로그램을 동..