본문 바로가기

반응형

전체 글

Python, Hello World와 주석 작성 방법 요즘 나는 몇 년 전에 배운 Java 웹프로그램 공부를 복습하고 있는 중이다. 그러다가 코딩방법이 쉽다는 Python도 함께 공부해 보고 싶은 생각이 들어서 컴퓨터에 Python 개발환경을 구축하고 스스로 연구하기로 마음먹기에 이르렀다. 가초가 되는 공부는 유튜브에서 '처음코딩'님의 '파이썬코딩0교시'재생목록에 담긴 35개의 영상을 가지고 공부하기로 했다. '처음코딩'님은 옛날에 Java를 배울 때, 스프링 프레임워크를 지도해 주신 선생님이시다. 선생님께 스프링 프레임워크를 찬찬하게 잘 배웠던 기억이 있고, 선생님의 유튜브 안에 파이썬공부가 담겨있다는 것도 떠올랐다. 아니나 다를까? 파이썬을 이해하기 쉽게 잘 가르쳐 주시고 계셨다. 나는 여러가지 방법 중 가장 먼저 선생님께서 활용하고 계신 개발툴을 그대.. 더보기
Casting & instanceof, 강제타입변환과 객체 타입 확입 Casting(강제타입변환)이란 부모 타입을 자식 타입으로 변환하는 것을 말한다. 부모클래스객체는 자식클래스타입으로 자동 변환되지 않는다. 그래서 자식클래스타입으로 변환을 강제적으로 한다는 뜻에서 ()속에 Castng 기호를 넣어 준다. 즉, 자식클래스 변수 = (자식클래스) 부모클래스타입; 이렇게 코드를 작성한다. 강제 캐스팅할 수 있는 조건은 자식 타입이 부모 타입으로 자동 변환된 이후, 다시 자식 타입으로 변환할 때만 유효하다. 강제 타입변환이 필요한 경우는 자식 타입이 부모 타입으로 자동변환되면, 부모 타입에 선언된 필드와 메소드만 사용 가능하다. 그런데 자식 타입에 선언된 메소드를 다시 사용해야 한다면, 강제타입변환(Casting)이 필요하다. 그렇다고 해서 부모 타입이면, 모두 자식 타입으로 .. 더보기
'상수'(static final)란 무엇인가? 상수는 static final 필드이다. final 필드는 한번 값이 정해지면 수정을 할 수 없다. 그런 까닭에 상수도 한번 값이 정해지면 수정이 되지 않는다. 한편, 'final 필드'는 객체마다 가지고 있는 불변의 인스턴스 필드를 지칭한다. 그러나 상수는 정적(static)이기 때문에 객체마다 존재하지 않고, 메소드 영역의 상수 에어리어에 저장된다. 상수는 공용데이터로 사용된다. 상수이름은 전부 대문자로 작성하는 것이 관례이다. 다른 단어가 결합되면, _로 연결한다. * 초기화 방법 1) 상수는 선언과 동시에 초기값을 정해 줄 수 있다. 이것이 가장 일반적이다. static final 타입 상수 [= 초기값]; 즉, static final double EARTH_RADIUS = 6400; 이렇게 선언.. 더보기
열거상수( Enum)를 이용해서 '오늘의 요일' 코드 작성하기 자바에서 '열거 타입'(Enumeration Type)의 '열거상수'를 이용해서 오늘의 요일을 알아 볼 수 있다. 열거 상수는 변하지 않는 정해진 상수형태의 배열을 말한다. 특히, 요일을 열거객체에 담아놓고 오늘이 무슨 요일인지 코드를 통해 확인할 수 있다. 이때, 컴퓨터에 등록된 요일을 바탕으로 결과가 나타난다. 이를 위해, 먼저 열거객체를 만든다. 열거 객체는 바로 위의 코드와 같다. 열거객체를 만들기 위해서는 새로운 항목칸을 연다. 그러면, 'Enum'이 보일 것이다. 이것을 클릭하고 앞에서처럼 열거상수를 지정해 준다. 그러고는 위와 같이 코드를 작성해 보자. 이때, 요일의 이름이 호출되는 것은 아니고 배열의 순번이 호출된다. 그래서 오늘은 토요일, 6번이 호출되는 것을 알 수 있다. 위 코드는 요.. 더보기
Array Create, 자바에서 배열의 기본값과 배열의 생성 자바에서 배열의 기본값은 0이다. 더 정확히, int 타입의 경우는 0이고 double타입의 경우는 0.0이다. 위 코드의 첫번째 for 문이 바로 int 타입 배열의 기본값을 보여주는 코드이다. 세개의 인덱스를 가진 배열의 초기값을 확인한 뒤에 각각의 인덱스에 값을 정해 주는 것은 그 아래 코드처럼 작성하면 된다. 즉, arr1[0] = 10; arr1[1] = 20; arr1[2] = 30; 이런 식으로 숫자를 적어주고 for문을 돌리면, 배열값이 생성된다. 출력 결과를 보면, 제대로 생성되었음을 확인하게 될 것이다. 앞의 코드와 같은 방법으로 double 타입도 작성할 수 있다. 역시 기본값을 확인해 보자! 앞에서 말한 대로 0.0 이 기본값으로 정해졌다는 걸 알 수 있다. 그러고는 똑같은 방법으로.. 더보기
equals(), String 타입에서 문자열비교 방법 비교연산자 ==와 !=는 숫자에서는 변수들을 비교하지만, String 타입에서는 번지를 비교한다. 자바에서는 문자를 저장할 때, 스텍영역에 그 문자가 들어있는 객체의 번지를 저장하고 힙영역에 객체를 저장한다. 이때, 변수가 다르게 선언되어도 같은 번지에 들어있는 동일한 객체를 이용하는 것이다. 아래 코드를 보자! strVar1과 strVar2는 같은 객체를 참조하게 되는 것이다. 동일한 객체가 아니라 새로운 객체를 만들길 원한다면, new 연산자를 이용한다. new가 선언되면, 자바는 새로운 String 객체를 만든다. 그래서 strVar3와 strVar4는 다른 객체를 일컫게 되는 것이다. 번지가 아니라 문자열이 같은지, 다른지를 알기 위해서는 비교연산자를 이용하지 말고 equals()를 이용해야 한다.. 더보기
for문으로 구구단 코드 작성하기 자바(Java)에서 for문은 반복을 실행하는 코드이다. 그런 특성 덕분에 for문을 이용해서 구구단 연산을 보여줄 수 있다. 위 코드가 바로 그것이다. 첫번째 for문은 구구단의 단을 보여주는 코드인다. 여기에 변수m은 2단에서 9단을 표현는 것이다. 2부터 시작해 9와 같거나 작은 수까지 반복하면서 1씩 증가해 간다. 그리고 두번째 for문의 n변수는 대입하는 숫자를 일컫는다. 1부터 시작해 9보다 작거나 같은 수를 1씩 증가시키라고 했다. 그것을 콘솔창에 보여줄 때는 스트링 문자열을 섞어서 보기 좋게 썼다. 그러면, 콘솔상에 위처럼 구구단이 2단부터 9단까지 뿌려질 것이다. 확인해 보시길~ 더보기
if 문과 switch문을 이용해서 '주사위 던지기 코드' 작성하기 위 코드는 int 변수에 있는 숫자가 if문을 거치면서 조건에 맞는가를 체크해서 콘솔창에 그 결과를 출력하는 것이다. 위에서는 변수에 숫자를 지정해서 넣었는데, 그것을 랜덤으로 뽑도록 코드를 작성할 수 있다. 그것을 위해 주사위 던지기 코드를 작성해 보자! 바로 위 코드에서처럼 int 변수에 (int)(Math.random()*6)+1; 이라고 써준다. 이것은 랜덤으로 1~6까지를 반복적으로 뽑아서 int로 타입을 강제변환해서 대입해 주라는 말이다. 이렇게 작성하면, 자동적으로 숫자를 뽑아 실행시켜 준다. 랜덤으로 숫자를 뽑는 것은 '(int)(Math.random()*숫자 수) + 시작하는 숫자;'로 작성하는 것이다. 아래의 코드를 보자! 위 코드에 (int)(Math.random()*20)+81; 이.. 더보기

반응형