목록Programming (58)
Be ready to study forever - 개발자 꿈나무
3. StringBuffer 클래스와 StringBuilder 클래스 String으로 생성된 인스턴스는 immutable(변경불가능한)이지만 StringBuffer로 생성된 인스턴스는 append, delete등 수정이가능하며 Buffer를 가지고 있다. 기본적으로 비슷한 내용이면 내부적으로 char[]배열을 가지고 있다. * buffer란 완충하기 위한 임의의 값 예를들면 동영상의 버퍼링은 원활한 비디오 스트림을 위해 일정이상의 buffer를 가지며 이를 버퍼링이라고 한다. *StringBuffer의 인스턴스를 생성할 때 충분한 buffer를 생성해 주는 것이 좋다. 3.1 StringBuffer의 생성자 버퍼의 크기를 생성자에서 지정해 주지 않는다면 기본버퍼는 매개변수 스트링 크기 + 16개 char..
2. String 클래스 String 클래스는 사실 기본형타입 char[]를 배열로 가지고잇는 ‘문자열’이다. 문자열은 immutable, 즉, 한번 선언하면 변결 될 수가 없다. 사실, 문자열들을 +로 결합하면 새로운 String인스턴스를 생성하는 것이다. immutable예제 2.1. String str = “abc” 와 String str = new String(“abc”)의 비교 String str = “abc”로 선언될 경우 “abc”는 상수화 되고 “abc”의 주소값이 str에 저장된다. 따라서 String str2 = “abc”로 새로 선언한다 해도 str2도 똑같은 주소값을 가지게 된다. 하지만 String str = new String(“abc”)로 선언하면 새로운 인스턴스를 생성하는 것..
java.lang 패키지 자바 프로그래밍에 기본이 되는 클래스를 포함하고 있기 때문에 따로 import 과정없이 바로 사용될 수 있다. String, System클래스가 java.lang패키지에 속하기 때문에 따로 import없이 할 수 있었던 이유이다. 1. Object 클래스 Object클래스는 모든 클래스의 조상이므로 모든 Object클래스의 메서드를 기본적으로 상속받고 있다. 따라서 toString(), hashCode(), equals() 와 같은 메서드들은 모두 사용 가능하며 때에 따라서는 오버라이드 해서 사용한다. 1.1. equals(Object obj) 메서드 매개변수로 객체의 참조변수를 받아서 비교하여 boolean으로 같으면 true 다르면 false로 반환한다. equals() 클래..
예외처리 1. 프로그램 오류 - 컴파일 에러 – 컴파일 시에 발생 (주로 문법적 오류) - 런타임 에러 – 실행 시에 발생하는 에러 - 논리적 에러 – 실행에는 문제가 없지만 의도와는 다르게 동작하는 에러 Java에서는 실행 시(Runtime)에 발생하는 오류를 ‘에러(error)’ 와 ‘예외(exception)’ 로 정의한다. 에러는 치명적인 오류라서 프로그램 종료를 막을 방법이 없지만 예외는 프로그래머에 의해서 예외처리를 하면 프로그램 종료를 막을 수 있다. 2. 예외 클래스 계층구조 Throwable 클래스를 상속받은 Error클래스와 Exception클래스. 그리고 Exception 클래스는 다시 RuntimeException과 IOEexption에 의해 상속 되어 진다. - RuntimeExce..
4.14. 내장함수들 미리 정의된 함수들입니다. 정의된 모든 함수는 https://sass-lang.com/documentation/modules에서 확인 가능합니다. 설명의 [ ]안에 들어가는 인자는 기본값이 있으므로 적어 넣지 않으면 기본값이 작동합니다. 4.14.1. 색상 함수 mix($color1, $color2) : 두 개의 색을 섞습니다. lighten($color, $amount) : 더 밝은색을 만듭니다. darken($color, $amount) : 더 어두운색을 만듭니다. saturate($color, $amount) : 색상의 채도를 올립니다. desaturate($color, $amount) : 색상의 채도를 낮춥니다. grayscale($color) : 색상을 회색으로 변환합니다...
4.10. @if – if문 일반적인 프로그래밍 if문과 같습니다. // @if @if (조건) { /* 조건이 참일 때 구문 */ } // @if @else @if (조건) { /* 조건이 참일 때 구문 */ } @else { /* 조건이 거짓일 때 구문 */ } // @if @else if @if (조건1) { /* 조건1이 참일 때 구문 */ } @else if (조건2) { /* 조건2가 참일 때 구문 */ } @else { /* 모두 거짓일 때 구문 */ } 4.11.@for – for문 Sass의 for문은 Python의 for문과 유사합니다. @for사용법 // through // 종료 만큼 반복 @for $변수 from 시작 through 종료 { // 반복 내용 } // to // 종료 ..
4.9. @function – 함수 함수와 믹스인은 유사하지만 함수는 반환 값이 있다는 점에서 믹스인과 다릅니다. 함수와 믹스인 정의 예제 // Mixins 정의 @mixin 믹스인이름($매개변수) { 스타일; } // Functions의 정의 @function 함수이름($매개변수) { @return 값 } 함수와 믹스인 사용 예제 // Mixin의 사용 @include 믹스인이름(인수); // Functions 의 사용 함수이름(인수) SCSS예제 $max-width: 980px; @function columns($number: 1, $columns: 12) { @return $max-width * ($number / $columns) } .box_group { width: $max-width; .bo..
4.7. 재활용(Mixins) mixins는 스타일시트 전체에서 재사용할 CSS 선언 그룹을 정의하는 기능입니다. @mixin은 재사용할 내용을 선언하는 부분이며 @include는 @mixin에서 정의된 내용을 삽입,적용되는 부분입니다. 4.7.1. @mixin @mixin 사용법// SCSS문법과 Sass문법이 다릅니다. // SCSS문법 @mixin 믹스인이름 { 스타일; } // Sass문법 =믹스인이름 스타일 @mixin예제 // SCSS문법 @mixin large-text { font-size: 22px; font-weight: bold; font-family: sans-serif; color: orange; } // Sass문법 =large-text font-size: 22px font-wei..
4.6. 연산(Operation) 4.6.1. 연산자 종류 4.6.1.1. 산술연산자 종류 설명 주의사항 + 더하기 - 빼기 * 곱하기 하나의 값이 반드시 숫자 여야함 (10px * 10px 안됨) / 나누기 오른쪽 값이 반드시 숫자 여아함(10px / 10px 안됨) % 나머지 4.6.1.2. 비교연산자 종류 설명 == 이퀄 != 낫 이퀄 크다 = 크거나 같다 4.6.1.3. 논리연산자 종류 설명 and 그리고 or 또는 not 부정 4.6.2. 숫자연산 일반적으로는 px단위 연산을 하지만 상대적 단위(%, em, vw등)의 연산의 경우 calc() 함수를 사용한다. width: 50% - 20px; // 단위 모순 에러(Incompatible units error) width: calc(50% - 2..
4.4. 변수 4.4.1. 변수란? 저장한 특정 값을 재사용 할 수 있는 값. 변수 앞에는 항상 $사인이 붙습니다 ex) $변수이름: 속성값; SCSS예제 $color-primary: #e96900; $url-images: "/assets/images/"; $w: 200px; .box { width: $w; margin-left: $w; background: $color-primary url($url-images + "bg.jpg"); } CSS예제 .box { width: 200px; margin-left: 200px; background: #e96900 url("/assets/images/bg.jpg"); } 4.4.2. 변수의 유효범위 변수는 선언된 중괄호{ } 안에서만 적용이 가능합니다. 변수는 ..