Programming
-
[JAVASCRIPT] 함수와 프로토타입 체이닝(3)Programming/JAVASCRIPT 2019. 12. 4. 17:43
call과 apply 메서드를 이용한 명시적인 this 바인딩 * call() 메서드는 apply() 메서드와는 기능이 같음 단지 넘겨받는 인자의 형식만 다름 * apply() 메서드도 this를 특정 객체에 바인딩할 뿐 결국 본질적인 기능은 함수호출 -> 만약 Person() 이라는 함수가 있고, Person.apply() 호출하면 기본적인 기능은 Person() 함수 호출 function.apply(thisArg, argArray) -> 첫 번째 thisArg는 apply() 메서드를 호출한 함수 내부에서 사용한 this에 바인딩할 객체를 가리킴 -> 두 번째 argArray 인자는 함수를 호출할 때 넘길 인자들의 배열을 가리킴 ** 두 번째 인자인 argArray 배열을 자신을 호출한 함수의..
-
[JAVASCRIPT]함수와 프로토타입 체이닝(2)Programming/JAVASCRIPT 2019. 12. 4. 17:43
함수 호출과 this arguments 객체 자바스크립트는 함수를 호출할 때 함수 형식에 맞춰 인자를 넘기지 않더라도 에러가 나지 않음 ex) 함수 형식에 맞춰 인자를 넘기지 않더라도 함수 호출 가능 코드 function func(arg1, arg2) { console.log(arg1, arg2); } func(); // (출력) undefined undefined func(1); // (출력) 1 undefined func(1, 2); // (출력) 1 2 func(1, 2, 3); // (출력) 1 2 * 만약 C를 이런 방식으로 코딩하면 바로 에러를 내며 프로그램 종료 * 이러한 자바스크립트의 특성 때문에 함수 코드 작성시, 런타임 시에 호출된 인자의 개수를 확인하고 이에 따른 동작을 다..
-
[JAVASCRIPT] 함수와 프로토타입 체이닝(1)Programming/JAVASCRIPT 2019. 12. 4. 17:42
함수 정의 함수 리터럴 ex) 함수 리터럴을 통한 add() 함수 정의 // 함수 선언문 function add(x, y){ return x + y; } 함수 선언문 방식으로 함수 생성 * 함수 선언문 방식으로 정의된 함수는 반드시 함수명이 정의되어 있어야함 함수 표현식 방식으로 함수 생성 // add() 함수 표현식 var add = function(x, y) { return x + y; }; var plus = add; console.log(add(3, 4)); // (출력) 7 console.log(plus(5, 6); // (출력) 11 * 익명함수 - 이름이 없는 함수 형태 // 함수 표현식 방식으로 구현한 팩토리얼 함수 ex) var factorialVar = ..
-
[JAVASCRIPT] 데이터 타입과 연산자(3)Programming/JAVASCRIPT 2019. 12. 4. 17:42
유사 배열 객체 일반 객체에 length라는 프로퍼티가 있으면 어떻게 될까? length 프로퍼티를 가진 객체를 유사 배열 객체 라고 함 ! 객체임에도 자바스크립트의 표준 배열 메서드를 사용하는 게 가능!!!! var arr = ['bar']; var obj = { name : 'start', length : 1 }; arr.push('baek'); console.log(arr); // (출력) ['bar', 'baek'] obj.push('baek'); // (출력) error 유사 배열 객체에서 apply()를 사용하면 객체지만 표준 배열 메서드 활용 가능 ex) var arr = ['bar']; var obj = { name : 'start', length : 1 }; arr...
-
[JAVASCRIPT] 데이터 타입과 연산자(2)Programming/JAVASCRIPT 2019. 12. 4. 17:41
참조 타입의 특성 객체비교 동등 연산자 (==)를 사용하여 두 객체를 비교할 때도 객체의 프로퍼티 값이 아닌 참조값을 비교! var a = 100; var b = 100; var objA = {value: 100}; var objB = {value: 100}; var objC = objB; console.log (a == b); // (출력) true console.log(objA == objB); // (출력) false console.log(objB == objC); // (출력) true *objB와 objC는 같은 객체를 참조하므로 true! objA와 objB는 다른 객체를 참조하므로 false! 참조에 의한 함수 호출 방식 var a = 100; var objA =..
-
[JAVASCRIPT] 데이터 타입과 연산자(1)Programming/JAVASCRIPT 2019. 12. 4. 17:41
자바스크립트의 데이터 타입 1) 기본타입 - 숫자(Number) - 문자열(String) - 불린값(Boolean) - undefined - null 2) 참조타입 - 객체(Object) -> 배열(Array) -> 함수(Function) -> 정규표현식 Javascript는 var라는 한 가지 키워드로만 변수 선언. typeof로 변수 타입 확인가능 ex) var intNum = 10; // 정수 var floatNum = 0.1; // 실수 var boolVar = true; // 불린 var emptyVar; // undefined var nullVar = null; // null typeof intNum; typeof floatNum; typeof boolVar ; typeof em..
-
[JAVA] 엑셀 (excel) 파일 read 하는 법 (.xls, .xlsx)Programming/JAVA 2019. 12. 4. 17:03
→가끔 JAVA 단에서 엑셀에 있는 데이터들을 가공하거나 가져와야 할 일들이 생긴다. 그럴 때 엑셀파일을 읽어오는 방법을 한번 해보려고 한다. 일단 가져올 엑셀에 있는 컬럼들을 위한 VO class를 하나 만들어 준다. 나는 여기서 getter와 setter를 위해 lombok을 사용할 건데 lombok에 대한 내용은 아래 포스팅 확인! https://100winone.tistory.com/11 [SpringBoot] Lombok 사용 및 적용 방법 Lombok 라이브러리는 자바 개발을 getter와 setter, 혹은 toString 메소드를 만들일이 생긴다. 위에 getter, setter, toString은 주로 변수가 쉽게 값에 접근하지 못하게 하기위해 private으로 선언되어 있을 때.. 10..
-
[JAVA] 생성자 JAVA ConstructorProgramming/JAVA 2019. 11. 29. 11:13
객체지향 언어, 즉 JAVA에서 인스턴스를 초기화할 때 사용하는 것을 생성자라고 한다. 즉 메모리에 생성된 클래스에 대한 정의를 하는 것이라고 할 수 있다. 생성자의 특징으로는 1. 반환값이 없다 2. 생성자의 이름은 클래스의 이름과 동일하다 3. 생성자는 매개변수에 따라 여러개를 만들 수 있다 public class HeaderVO { private String model; private String carNum; private String carType; private String carRegNo; private String regNo; private String driverCd; } 이렇게 기본 클래스에 변수만 선언하더라도, 다른 클래스에서 import만 해주면 생성자를 따로 미리 만들어 놓지않아도..