라벨이 static인 게시물 표시

[JAVA] 클래스 메서드(static)와 인스턴스 메서드(instance)

JAVA 클래스 메서드(static)와 인스턴스 메서드(instance) 인스턴스 메서드는 클래스 맴버에 접근 할 수 있다. 클래스 메서드는 인스턴스 맴버에 접근 할 수 없다. static키워드와 함께 작성된 변수와 메서드는 static키워드를 사용하지 않는 변수와 메서드에 접근 할 수 없다. 반면에 static키워드 없이 작성된 변수와 메서드는 static변수와 메서드에 접근 할 수 있다. 1. 클래스를 설계할 때, 멤버변수 중 모든 인스턴스에 공통으로 사용될 변수와 메서드에 static을 붙인다. 2. 메서드 내에 인스턴스 변수를 사용하지 않으면 static을 사용하는것이 좋다. 3. 클래스 메서드(static 메서드)는 인스턴스 변수를 사용 할 수 없다.  4. 클래스 변수(static 변수는) 인스턴스를 생성하지 않아도 사용할 수 있다. 5. static메서드는 static변수 사용 가능 6. 인스턴스 메서드와 변수의 경우 new연산자로 메모리 할당시에만 사용가능하지만 클래스 메서드(static 메서드는) new연산자로 메모리 할당없이 사용가능. 컴파일과정에서 메모리 자동생성. 7. static메서드에서는 this 사용이 불가능하다. 하지만 new 연산자로 static메서드 안에 메모리를 할당하면 this 사용이 가능하다.

[React] static defaultProps 기본값 설정하기

이미지
props 기본값 설정하기 상위 컴포넌트로부터 하위 컴포넌트에 props로 값이 전달되지 않은경우 기본적으로 보여질 값을 설정할 수 있다. 위와같이 static defaultProps에 기본값을 설정하면 상위컴포넌트에서 하위컴포넌트로 값이 전달되지 못할때 기본props 값으로 설정된 '기본이름'이 값으로 입력되어 아래와같이 출력된다. 한가지 방법이 더 있는데 결과값은 똑같고 표현방법만 살작다르고 똑같이 동작하는 코드이다. 👇🏼👇🏼👇🏼   두가지 방법중에 최신방법은 맨위에 처음 작성한 static defaultProps 방법이므로 되도록 최신방법을 사용하자. 위 두가지 방법은 class형 컴포넌트에서 사용되는 방법이고 함수형 컴포넌트에서는 default parameter를 통해 기본 값을 설정할 수 있다. 만약에 props로 전달되는 값이 없다면 이와같이 default parameter로 값을 지정해줄 수 있다. 이렇게 작성한경우 props로 값이 전달되지 않은경우 아래와 같은 결과가 나오게된다.   위 결과는 props로 name, age둘다 값이 전달되지 않아 기본값으로 반환한 결과이며 props중 age값만 9999로 전달할 경우  안녕하세요 제 나이는  9999 살이며 이름은  안녕하세요  입니다. 라는 결과 값을 반환한다.

CSS position(static, relative, absolute, fixed, sticky)

position 속성은 요소들을 자유자재로 배치할 수 있도록 하는 중요한 속성 중 하나이다. position 속성에는 static, realative, absolute, fixed, sticky 가 있다. static 모든 태그는 기본적으로 static한 상태이며 static 속성을 따로 작성하지 않아도 된다. 요소를 나열한 순서대로 배치하며 top, right, bottom, left 같은 속성 값을 사용할 수 없다. relative 요소의 기본 위치(static)를 기준으로 요소의 위치를 설정하는 방식이다. relative도 static 처럼 요소를 나열한 순서대로 배치한다. static과 달리 top, right, bottom ,left 속성 값을 사용하여 위치를 지정할 수 있다. absolute absolute는 문서의 흐름(요소의 나열 순서)과 상관없이 top, right, bottom, left 속성 값을 사용해 요소를 원하는 위치에 배치할 수 있다.  이때 요소가 움직이는 기준점은 static을 제외한 위치 지정 속성(relative, absolute, fixed, sticky)을 가지고있는 가장 가까운 부모 요소 또는 조상 요소가 기준점이 된다. 그렇기 때문에 요소의 위치를 absolute로 지정하고자하면 위치를 지정하고자하는 요소 블럭의 부모 요소 또는 조상 요소에 position: relative와 같은 위치 지정 속성을 작성해주고 위치 시키고자 하는 요소에 absolute 속성을 적용하고 top, right, bottom, left 속성으로 위치를 지정할 수 있다. 단, 부모 요소 또는 조상 요소 중 위치 지정 요소가 없다면 해당 요소를 감싸고있는 컨테이닝 블록을 기준으로 위치를 지정할 수 있다.  마지막으로 알고 있어야 할 점은 absolute 속성을 사용하면 block 요소인 div 태그도 컨텐츠 크기 만큼의 너비 만을 가지게 된다. fixed fixed 속성 값도 absolute 속성 값처럼 문서의 흐름과 상관없이 위치를 좌표로 결정하

[JavaScript] 유효범위,정적 유효범위, 렉시컬 스코핑(Lexical Scoping)

자바스크립트는 함수가 선언된 시점에서의 유효범위를 갖는다. 이러한 유효범위의 방식을 정적 유효범위(static scoping) = 렉시컬(lexical scoping)이라고 한다. var i = 5; function a(){     var i = 10;     b(); } function b(){     document.write(i); } a(); ->실행 결과 값은 5이다. *자바스크립트는 함수가 호출될때가아닌 선언된 즉 작성된위치에서의 변수를 참조하게되므로 위의 코드에서 전역변수를 참조하게되어 i는 전역변수인 var i = 5;를 참조하여 나타낸다. var i = 5; function a(){     var i = 10;     function b(){         document.write(i);     }     b(); } a(); -> 실행 결과 값은 10이다. b함수가 선언된 시점이 a함수 안이므로, 1차적으로 b함수의 지역변수에 선언된 i를 찾아보고 없을경우 전역변수이자 a함수의 지역변수인 i를 참조하여 결과값 10을 가져오게된다.  만약에 a함수 안에서도 var i = 10;이 선언되지 않았다면 결과값은 전역변수로 선언된 var i = 5;가 결과값으로 된다. 마지막으로 정리하면  함수는 사용될때가아닌 정의될때 참조할 변수가 전역변수인지 지역변수인지 정해지게된다. 이러한것을 정적 유효범위 혹은 렉시컬 스코핑이라고 부른다.