목록전체 글 (569)
꿈 많은 사람의 이야기
자바는 예외를 떠넘기는(throws)그리고 예외를 발생시키는 throw가 존재한다. throws는 메소드 내부에서 예외가 발생할 수 있는 코드를 작성할 때 try-catch 블록으로 처리하는 것이 기본이지만 경우에 따라서는 메소드를 호출한 곳으로 예외를 떠넘길 경우 사용한다. throws 키워드는 메소드 선언부 끝에 작성되어 메소드에서 처리하지 않는 예외를 호출한 곳으로 떠넘기는 역할을 한다. 그리고 throws 키워드가 붙은 메소드를 호출할 때는 반드시 try-catch로 묶어 try 블록 내에서 호출 되어야 한다. 그리고 catch 블록에서 떠넘겨 받은 예외를 처리해야 한다. 다음 소스를 보자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 public void method1() { tr..
예외라는 것은 사용자의 잘못된 조작 또는 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류이다. 예외가 발생되면 프로그램이 종료가 될 수도 있는데 예외처리를 통해 프로그램을 종료하지 않고 정상 실행상태가 유지되도록 할 수 있다. 예외에는 2가지 종류가 있다. 일반적인 예외(Exception)와 실행 예외(Runtime Exception)이다. 일반 예외는 컴파일러 체크 예외라고도 한다. 실행예외는 컴파일 하는 과정에서 예외 처리 코드를 검사하지 않는 예외를 말한다. 자바에서는 예외를 클래스로 관리한다. 다음은 예외 클래스를 보여준다. 모든 예외 클래스는 java.lang.Exception 클래스를 상속 받는다. 위 그림을 보면 맨 위에 java.lang.Exception 클래스가 존재한다. 그 밑에 ..
중첩 인터페이스는 클래스의 멤버로 선언된 인터페이스를 말한다. 인터페이스를 클래스 내부에 선언하는 이유는 해당 클래스와 긴밀한 관계를 맺는 구현 클래스를 만들기 위해서이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 package Study_myself_3_from_390; class Button2 { OnClickLisnter listner; void setOnClickListener(OnClickLisnter listener) { this.listner = listener; } void touch()..
클래스가 여러 클래스와 관계를 맺는 경우에는 독립적으로 선언하는 것이 좋으나, 특정 클래스와 관계를 맺을 경우에는 관계 클래스를 클래스 내부에 선언하는 것이 좋다. 중첩 클래스란 클래스 내부에 선언한 클래스를 말하는데 이 것을 사용하면 두 클래스의 멤버드을 서로 쉽게 접근할 수 있다는 장점과 외부에는 불필요한 관계 클래스를 감춤으로써 코드의 복잡성을 줄일 수 있다. 선언 위치에 따른 분류 선언 위치 설명 멤버 클래스 인스턴스 맴버클래스 class A{ class B{ } } A 객체를 생성해야만 사용할 수 있는 B 클래스 (Inner Class) 정적 멤버 클래스 class A{ static class B { } } A 클래스로 바로 접근할 수 있는 B 중첩 클래스 (Nested Class) 로컬 클래스..
부산은 여행하기 좋은 곳이다 가볼만한 장소도 많을 뿐더러, 전철, 버스가 잘 되어 있고 먹을거리도 많기 때문이다. 이 블로그로 바꾸면서 예전글을 옮기지만, 이 이후로도 5번 정도는 더 갔다왔다. 그래서 부산은 1박2일은 살짝 부족한 감이 있다. 아무리 교통이 잘 되어 있어도 오가는 시간이 좀 되기때문에 여유롭게 즐길려면 2박3일이 제일 좋다 여행지를 소개하자면 처음은 해운대와 누리마루. 이 두 장소는 붙어 있어서 같이 보기 좋다 겨울에 갔는대도 사람이 많이 찾아 오는 장소이다 역시 해운대라고 생각 될 만큼 해수욕장이 잘 되어 있고 크기도 크다 그리고 누리마루(동백섬). 이 곳에는 Apec정상회담 장소와 각종 볼만한 관광이 있다. 해운대 해수욕장에서 바로 연결되며 쭉 걸으며 볼 수 있어서 좋은 코스이다 그..
울산은 각 관광지마다 거리가 꽤 되어서 나같이 대중교통을 이용해 가는 사람은 1박2일은 갔다와야 한다. 거리가 너무 멀다.... 울산을 대표하는 관광지는 대왕암, 일출을 보는 간절곶, 대나무가 울창한 십리대밭 자수정동굴 등이 있다. 그 중 대왕암, 간절곶(일출 제외), 십리대밭을 갔다 왔다 우선 십리대밭 십리대밭은 공원 처럼 되어 있는데, 옆에 강을끼고 가운데는 대나무들이 자라고 있다. 공기도 시원해서 산책하는 사람도 많고 공원도 정말 잘 되어 있다. 대나무들이 어떻게 그리 자라고 있는지도 신기하고, 이 대나무숲을 통과해 가는 거리가 대략 1.6km였나 그랫을것이다. 갔다 오는데 3km는 걸린다. 십리대밭을 가려면 태화강역에서 가는 버스가 있는데 그것을 타고 좀 걷다보면 나온다. 그리고 간절곶! 날씨는 ..
자바스크립트에서 제공해주는 Math 기능은 다음과 같이 대표적인게 있다. 함수 또는 상수 설명 PI PI 상수. 3.141592....round( ) 가장 가까운 값을 반환 pow( ) 제곱 sqrt( ) 제곱근 abs( ) 절대값 ceil( ) 가까운 up의 수 floor( ) 가까운 down 수 sin( ) 싸인 함수 cos( ) 코싸인 함수 min( ) 최솟값 max( ) 최댓값 random( ) 0 ~ 1까지의 난수 생성 사용법은 아래와 같다. Math.PI; Math.round(4.7); // 5 가까운 값 Math.round(4.4); // 4 가까운값 Math.pow(8, 2); // 64 제곱 Math.sqrt(64); // 8 제곱근 Math.abs(-4.7); // 4.7 절대값 Mat..
자바스크립트에선 문자열을 숫자로 변경하는게 매우 간단하다. 애시당초 변수를 선언하고 숫자를 넣으면 숫자, 문자열을 넣으면 문자열 타입으로 넣을 수 있는거 자체가 간단하긴하다. var a = 10; //숫자형 var a = "abc";//문자열 형 하지만 문자열을 숫자로 바꿀 수 있는 방법이 있다. Number() 나 parseInt()를 이용하면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 var x = true; Number(x); //1 x = false; Number(x); //0 x = "10"; Number(x); // 숫자 10 x = "10 20"; Number(x); //NaN(Not a Number) x = "afd"; Number(x); //N..
NaN 은 Not a Number 의 약자로 말 그대로 숫자가 아닌, 또는 될 수 없는 것들을 뜻한다. var x = 100 / "apple" 를 하게 되면 x 는 NaN이 된다. 하지만 var x = 100/"10" ; 을 하면 결과는 10이 나온다. 즉, 문자열이 숫자값으로 변환할 수 있으면 숫자로 변환해 계산을 해준다. var x = 100 / "apple" 을 하게 되면 x는 NaN 값이 나오게 되는데 이런 NaN 값을 체크 하는 것이 isNaN() 메소드이다. x를 isNaN() 메소드에 넣으면 -> isNaN(x) // true; 가 나오게 된다. 1 2 3 4 5 6 7 8 9 10 var dd =100/"Apple"; document.getElementById("demo").innerHTM..
자바스크립트 이벤트 자바스크립트에는 onclick과 같은 여러 이벤트가 있다. 다음 표를 보자 이벤트 종류 설명 onclick 해당 객체를 클릭 했을 때 이벤트 onmouseover 해당 객체에 마우스가 올라왔을때 이벤트 onmouseout 해당 객체에서 마우스가 나갔을 때 이벤트 onload 브라우저가 페이지 load를 끝냈을 때 onchange 객체가 바뀌었을 때(select 같은 태그에서) 다양한 이벤트가 있지만 대표적인 것은 이렇게 있다. 여기서 onmouseover와 onmouseenter의 차이점이 존재한다. 다음 그림을 보자. 이게 onmouseenter와 onmouseover의 큰 차이점이다. mouseenter는 해당 영역에만 적용이 되고 mouseover는 영역을 넘어서 자식에 해당되는..