목록Programming language (59)
For Programmer
1.산술 연산자 연산자기능사용법사용 설명 + 덧셈 op1 + op2 op1과 op2를 더한다. - 뺄셈 (또는 단항 마이너스) op1 - op2 op1과 op2를 뺀다. * 곱셈 op1 * op2 op1과 op2를 곱한다 / 나눗셈 op1 / op2 op1을 op2로 나눈다. % 나머지 op1 % op2 op1을 op2로 나눈 나머지를 구한다. int a = 1 + 9; int b = a - 3; int c = b * 5; int d = c / 2; int e = d % 4; System.out.println("a=" + a); System.out.println("b=" + b); System.out.println("c=" + c); System.out.println("d=" + d); System.ou..
1. printf 와 println 의 사용법 int num = 10; System.out.println("오늘의 기온은 " + num + "도 입니다." ); //println사용(+로 연결,자동으로 줄띄움) System.out.printf("오늘의 기온은 %d도 입니다. \n",num); //printf사용(c,c++과 사용법비슷,자동줄띄움없음) 오늘의 기온은 10도 입니다. 오늘의 기온은 10도 입니다. 2. printf 사용에서의 정수,8진수,16진수의 표기 int num2 = 100; System.out.printf("num2(정수): %d \n",num2); // 정수 표기 System.out.printf("num2(8진수): %o \n",num2); //8진수 표기 System.out.pri..
Java의 데이터타입은 크게 기본형 타입(primitive타입)와 참조형 타입으로 구분할 수 있다. 1. 기본형 자료(byte, char, short, int, long, float, double, boolean) 논리형(boolean) Java 에서는 논리형 자료로 boolean을 제공한다. true와 false를 나타낸다. 다른 기본형과의 연산은 불가능한 특징이 있다. 크기는 1byte이다. 문자형(char) 컴퓨터는 0,1만 알고 있는 기계이다. 따라서 문자형도 결국에는 0,1로 저장이 된다. 내부적으로는 유니코드 / 아스키코드 로 맵핑시켜서 저장을 시킨다. 따라서 실수형이나 정수형과 연산이 가능한 특징이 있다. 크기는 2byte이다. 정수형 (int,byte,short,long) - byte : ..
call 이란? * call은 어떠한 함수를 실행할때마다 인자를 지정해줘서 this값을 해당 인자로 바꾸는 것을 말한다.따라서 this를 설정해주는 메서드라고 생각하면 된다. 함수.call(해당 함수 this에 들어갈 인자 , 해당함수의 파라미터 .....) 형식이다. bind란? *어떤 함수의 this값을 영구적으로 고정시켜주는 새로운 함수를 만들어내는것을 말한다. call과는 거의 비슷하지만 var kimSum = sum2.bind(kim, 인자,인자..) 와같이 새로운함수로 반환해준다는 것만 기억하면된다. 구조는 똑같다. call 메서드를 활용한 상속 *함수도 객체이기때문에 상속할때 객체상속방식을 이용할 수있다.(1st,2nd방식) 또한 기본적으로 많이쓰는 방식은 3th상속방식이다. * 상속에서 에..
* __proto__ 이용하기 *__proto__는 표준으로 체택된방식은아니다. 또한 Object.create와도 공통된 점인데 객체는 상속을 받고 부모의 객체 프라퍼티 값을 변경해도 부모 객체의 프라퍼티에는 적용이 안된다. __proto__예제 Object.create(상속받을 부모객체 이름) 이용하기 * debugger; 기능은 코드의 흐름을 막아서 실행후 f5를 눌러 크롬 웹사이트에서 f12 -> source -> Watch로 원하는 변수의 상속관계등을 파악할 수 있다. * Object.create()도 상속을 하고나서 자식의 프라퍼티값을 이용하여 부모의 프라퍼티값을 변경을해도 부모의 프라퍼티값에 직접적인 변경이 발생하지 않는다. Object.create(상속받을 부모객체 이름) 예제
클래스 사용하기 *일반적인 함수와 class를 비교해놓은 코드이다. 실제로 es6문법이 도입되면서 class를 많이사용하게 되었다. class는 자바와 비슷하게 생성자(constructor)가 존재하며 생성자는 var kim = new Person('kim',10,20); 과 같이 new라는 키워드를 통해 객체를 생성할 시 생성할때 한번 실행된다. 클래스에서 메서드 선언하기 * 클래스에서 메서드를 선언할 수있는 방법은 다양하다. 웬만하면 2nd선언 방식을 많이사용한다. 1st방식은 생성자 안에서 사용하는 방식이고 2nd방식과 3th방식은 완전히 동일한 생성방식이다. 단 2nd방식이 간편함으로 2nd방식을 많이 사용한다. 4th방식은 kim이라는 객체에 직접 생성하는 방식이다. 단, 같은 이름으로(sum4..
프로토타입 이해하기 *Person() 함수를 이용해서 객체를 생성하게 되면 sum() 함수도 무조건 같이 생성되게 된다. 이는 메모리낭비를 가져올 수 있으며 이때 사용가능한 것이 prototype이다. prototype은 함수만 가지고 있는데 .prototype을 이용하여 함수는 prototype Object을 가지게 된다. prototype Object라는 것은 빈공간이라고 생각하면된다. 객체는 new라는 생성자를 통해 생성하게 되면 무조건 __proto__라는 속성을 가지게 되는데 이는 조상이었던 함수의 Prototype Object를 가리키게 된다. 즉, 객체가 생성되면서(var lee = new Person2()) 위 sum()이라는 함수를 찾기 위해 우선 자기자신부터 그 위의 조상 , 그리고 O..