자바스크립트 함수에서 argument와 this인자(argument)에서 함수의 매개변수(parameter) 함수를 호출할 때 인자 목록을 제공하면, 이 인자들은 함수를 정의할 때 지정한 매개변수에 각 매개변수의 순서대로 할당된다. (첫 번째 인자는 첫 번째 매개변수에 할당, 두 번째 인자는 두 번째 매개변수에 할당) 자바스크립트는 인자 개수와 매개변수의 개수가 다르더라도 에러가 발생하지 않는다. => 매개변수보다 많은 인자가 제공되었다면, ‘남은’ 인자들은 매개변수에 할당되지 않는다. function whatever(a, b, c) { … } whatever(1, 2, 3, 4, 5)를 호출하면 인자 1, 2, 3은 각각 a, b, c 에 할당 되며, 인자 4, 5는 어떤 매개변수에도 할당되지 않는다...
분류 전체보기
자바스크립트 함수 자바스크립트는 함수형 언어이다. 그만큼 자바스크립트에서 함수는 중요한 역할을 한다. 자바스크립트에서 자바는 1종 객체(first-class object)이다. 이는 함수가 자바스크립트 객체와 같은 지위를 가지며, 일반적으로 다른 자바스크립트 객체처럼 취급할 수 있다는 것을 의미한다. 자바에서 컬렉션 정렬을 수행하는 명령문 12345Arrays.sort(values, new Comparator(){ public int compare(Integer value1, Integer value2){ Return value2 - value1; }});Colored by Color Scriptercs 함수형 접근 방식을 사용한 자바스크립트 코드 1values.sort(function(value1, v..
final 필드와 상수 final 필드final의 의미는 최종적이라는 뜻을 갖고 있다. Final 필드는 초기값이 저장되면 이것이 최종적인 값이 되어서 프로그램 실행 도중에 수정할 수 없다. final 필드의 초기값을 줄 수 있는 방법은 두가지이다. 첫 번째는 필드 선언시에 초기값을 주는 방법이며, 두 번째는 생성자를 통해 초기값을 주는 방법이다. (만약 초기화되지 않은 final 필드를 그대로 남겨두면 컴파일 에러가 발생한다.) 상수(static final)일반적으로 불변의 값을 상수라고 부른다. 불변의 값을 저장하는 필드를 자바에서는 상수(constant)라고 부른다. final 필드는 한 번 초기화되면 수정할 수 없는 필드이지만, final 필드를 상수라고 부르진 않는다. 왜냐하면 불변의 값은 객체..
정적멤버와 static정적(static)은 ‘고정된’이라는 의미를 가지고 있다.정적 멤버는 클래스에 고정된 멤버로서 객체를 생성하지 않고 사용할 수 있는 필드와 메서드를 말한다. 정적 멤버 선언1234567public class 클래스{ // 정적 필드 static 타입 필드 // 정적 메소드 static 리턴 타입 메소드() {… }}cs 정적필드, 정적 메소드는 클래스에 고정된 멤버이므로 클래스 로더가 클래스(바이트 코드)를 로딩해서 메소드 메모리 영역에 적재할 때 클래스별로 관리된다. (클래스 로딩이 끝나면 바로 사용할 수 있음) 인스턴스 필드 => 객체마다 가지고 있어야할 데이터 정적 필드 => 객체마다 가지고 있을 필요성이 없는 공용적인 데이터 일 경우 각각에 맞게 사용하면 된다. 123456p..
private 생성자나 enum 자료형은 싱글턴 패턴을 따르도록 설계하라 싱글턴은 객체를 하나만 만들 수 있는 클래스이다. JDK1.5 이전에서 싱글턴을 구현하는 방법은 2가지가 존재한다. 하나는 생성자는 private로 선언하고, 싱글턴 객체는 정적(static) 멤버를 통해 이용하는 방법 public class corn{ public static final Corn INSTANCE = new Corn(); private Corn() {... } public void run() { ... } } 두번 째는 public으로 선언된 정적 팩터리 메서드를 이용하는 방법이다. public class Corn{ private static final Corn INSTANCE = new Corn(); privat..
생성자 대신 정적 팩터리 메서드를 사용할 수 없는지 생각해 보라 클래스를 통해 객체를 만드는 일반 적인 방법은 public으로 선언된 생성자(constructor)를 이용하는 것이나, 한가지 방법이 더 존재한다. 클래스에 public으로 선언된 정적 팩터리 메서드(static factory method)를 추가하는 것이다. 아래의 예는 기본타입 boolean 값을 Boolean 객체에 대한 참조(reference)로 변환하는 것이다. public static Boolean valueOf(boolea b){ return b ? Boolean.TRUE : Boolean.False; } public으로 선언된 생성자 대신 정적 팩터리 메서드를 제공하는 방법의 장단점은 다음과 같다 장점 생성자와 달리 정적 팩터..
Can I ask you ~ 패턴 Can I ask you one more question?- 한 가지만 더 물어봐도 될까요?Can I ask you something off topic?- 좀 뜬금없는 거 물어봐도 돼?Can I ask you guys something personal?- 여러분한테 사적인 질문 하나 해도 될까요?Can I ask you to do me a favor?- 부탁 좀 해도 될까요?Can I ask you some more question?- 질문 더 해도 돼요? * off topic : 주제에서 벗어난* personal : 개인적인 bonus)I've been waiting to get a cat, but the cat that I like doesn't like me.난 고..
Sine when- 언제부터Since when do you make breakfast?- 네가 언제부터 아침을 만들었대?Since when do you play tennis?- 너가 언제부터 테니스를 했어?Since when did you do yoga?- 너가 언제부터 요가를 했어?Since when do you drive Uber?- 너 언제부터 우버 운전했는데?
객체화된 기본 자료형 대신 기본 자료형을 이용하라 자바의 자료형 시스템은 두 부분으로 나뉜다. 하나는 int, double, boolean 등의 기본 자료형(primitive type) 다른 하나는 String, List 등의 참조 자료형(reference type) 이다. 모든 기본 자료형에는 대응 되는 참조 자료형이 있는데, 이를 객체화된 기본 자료형(boxed primitive type)이라 부른다. (Integer, Double .. ) ※릴리스 1.5부터 자동 객체화(autoboxing)과 자동 비객체화(auto-unboxing)이 언어의 일부가 됨 기본 자료형과 객체화된 자료형 사이에는 세 가지 큰 차이점이 있다. 첫번째, 기본 자료형은 값만 가지지만 객체화된 기본 자료형은 값 외에도 신원(i..
정확한 답이 필요하다면 float와 double은 피하라 flat와 double 형은 기본적으로 과학 또는 엔지니어링 관련 계산에 쓰일 목적으로 설계된 자료형이다. 이 자료형들은 이진 부동 소수점 연산을 수행하는데, 이것은 넓은 범위의 값에 대해 정확도가 높은 근사치를 제공하지만 정확한(exact) 결과를 제공하지 않기 때문에 정확한 결과가 필요한 곳에서는 사용하면 안된다 (특히 돈과 관계된 계산) float이나 double로는 0.1 을 비롯한 10의 음의 거듭제곱 수(10^-1, 10^-2 등등)을 정확하게 나타낼 수 없기 때문이다. public static void main(String[] args){ System.out.println(1.03-0.42); System.out.println(1.00..