안녕하세요 shiny ocean 입니다 : ) 벌써 3학년 2학기가 시작되었습니다. 요즘은 백준 알고리즘 문제 풀이와 대학교 전공과목 수강으로 아주바쁜? 날들을 보내고 있었습니다! 그러다가 데이터베이스 과목 교수님께서 의미 있는 코딩 과제를 주셔서 오랜만에 열심히 한번 해보았습니다. 개발언어와 환경은 자유롭게 선택하게 해주셔서 오랜만에 자바가 쓰고 싶더군요.. 요즘 파이썬으로만 알고리즘 문제를 주구장창 풀어서 그런지 조금 로우레벨의 코딩을 해보고 싶었어요! 물론 자바도 절대 로우레벨은 아니지만 파이썬에 비하면 조금은 신경써줘야 할것들이 많은 편이니까요! 두가지 테이블에 있는 공통된 속성값을 통해 원하는 결과행들을 출력하는 과제였습니다. 각 테이블의 조건 검사 과정이 마치 관계형 데이터베이스(RDB)의 s..
안녕하세요 Shiny Ocean입니다. 자바를 주제로한 마지막 포스팅입니다. 마지막 포스팅의 주제는 "스레드를 활용한 게임완성"입니다 지금까지 자바언어에 대한 전반적인 내용들을 모두 활용하여서 GUI를 이용한 간단한 피하기 게임을 하나 구현하였습니다.키보드와 모니터를 이용하여 즐길수 있으며 이번 프로젝트를 마지막으로 자바 프로그래밍 카테고리를 종료하겠습니다. 제가 구현할 게임은 톰과제리 게임입니다 이제부터 게임의 구성과 인터페이스, 코딩과정을 상세히 기술해보겠습니다. 1. 제리, 톰, 스파이크 레이블에 이미지아이콘을 추가하여 이미지출력 톰과제리에 나오는 캐릭터(톰, 제리, 스파이크)의 이미지를 첨부하여 컨테이너에 add했습니다. 2. 톰스레드 -> 몬스터 스레드로 변경 제리를 쫒는 몬스터들(톰, 스파이크..
안녕하세요 Shiny Ocean입니다. 자바를 주제로한 여섯번째 포스팅은 자바의 GUI인터페이스 프로그래밍입니다. 간단한 프레임의 구현이나 컴포넌트등은 책을 참고하여 공부하였고 이번 포스팅에서는 JSilder에 대해서 다루어 보겠습니다. 슬라이더의 이벤트를 이용하여 글자의 포인트를 조절하는 예제를 해결하며 자세히 다루어 보겠습니다. Java 예제문제 7 - Jslider을 이용하여 클자의 폰트사이즈 조절 수평 슬라이더를 만들고, 슬라이더를 움직이면 문자열 레이블의 글자 크기를 조절할 수 있는 스윙응용 프로그램을 작성해라. 폰트는 1부터 100픽셀까지이며, 큰 눈금은 20간격, 작은눈금은 5간격으로 하라, 슬라이더는 컨텐트팬의 north영역에, 문자열은 center에 부착하라. 슬라이더 조건 1. 수평슬라..
안녕하세요 Shiny Ocean입니다. 자바를 주제로한 다섯번째 포스팅은 부모와 자식 클래스의 상속관계를 응용하여 다루어 보겠습니다. 저의 경우에는 도형을 주제로 삼았습니다. 점이 모여 삼각형을 표현하는 좌표가 되고 삼각형을 상속 받아 색깔이 있는 삼각형을 클래스로 구현하였습니다. 그리고 선언된 컬러삼각형들의 요소를 비교하여 같은지 다른지를 판별하는 메소드를 작성하였습니다. Java 예제문제 6 - 삼각형 클래스에 equals만들어보기 점을 표현할수 있는 클래스를 만들기 삼각형의 표현을 점3개의 Point값(x,y) 로 표현하는 TriPoint를 만들었습니다. step 2의 TriPoint클래스를 상속받아 색이 있는 삼각형을 정의하는 ColorTriangle 클래스를 만들었습니다. step 3의 Colo..
안녕하세요 Shiny Ocean입니다. 이전 시간까지 자바의 기본적인 프로그래밍 방법과 클래스와 추상클래스 상속등을 이용하여 자바 프로그래밍을 진행하였습니다. 자바를 주제로한 네번째 포스팅은 지금까지 포스팅한 내용들과 스트링 객체를 이용한 끝말잇기 텍스트 게임을 구현해 보겠습니다. Java 예제문제 5 - 끝말잇기 게임 구현 Step1 ) 두 개의 String s1, s2에서 s1의 끝말과 s2의 앞말이 같은지 다른지 판별할 수 있나? Step2 ) Player 클래스에 word 가 멤버로 있는데, 그 객체 p1, p2의 뒷말, 앞말이 같은지 다른지 판별할 수 있나? Step3 ) Player를 p1, p2로 만들지 말고, 배열로 만들어서 Step2 와 같은 기능을 구현할 수 있나? 해결 과정) Step..
안녕하세요 Shiny Ocean입니다. 자바를 주제로한 세번째 포스팅은 추상 클래스에 대하여 다루어 보겠습니다. 추상클래스는 부모자식 클래스의 관계에서 자식클래스가 부모클래스를 상속받을때 클래스를 구현하는 기법으로 사용하며 전체적인 자바 프로그래밍의 방향성을 잡을때 사용합니다. 세부적인 내용은 나중에 클래스를 구현할때 디테일하게 다루고 큰 내용을 먼저 구상하고 선언할때 용이합니다. 두가지 예제 문제를 해결하며 자세히 알아보겠습니다. Java 예제문제 3 -추상클래스 설계하고 사용해보기 단위를 변환하는 추상클래스 Converter가 있다, 1.. 추상클래스 Converter를 상속받아 원화를 달러로 변환하는 Won2Dollar 클래스를 작성하라 2.. 추상클래스 Converter를 상속받아 Km를 Mile..
안녕하세요 Shiny Ocean입니다. 자바를 주제로한 두번째 포스팅은 Class와 생성자에 대하여 다루어 보겠습니다. 클래스와 생성자는 자바 코딩에서 가장 기본적인 부분이며 중요한 부분입니다. 클래스는 유사한 특징을 갖는 객체들의 속성을 묶어놓은 그룹정도로 이해하시면 될것같습니다. 마치 C언어의 구조체와 비슷한 역할을 수행 합니다. 생성자는 객체가 생성될 때 객체의 초기화를 위해 실행되는 메소드입니다. 예제 문제를 해결하며 자세히 알아보겠습니다. Java 예제문제 2 -클래스 설계하고 사용해보기 동물에 대한 정보를 생성자의 양식에 맞게 초기화하고 출력하는PG 조건1. 생성자를 만들어 데이터를 초기화한다. 조건2. Walk(); 얼마의 속도로 걷는다 조건3. Show); 정보를 출력한다 조건4. This..
안녕하세요 Shiny Ocean입니다. 자바를 주제로한 두번째 포스팅은 Array 와 Exception에 대하여 다루어 보겠습니다. 배열의 사용방법은 C언어와 거의 동일하고, 자바에서는 프로그래머가 컴파일과정중 일부에러를 해결할수있는 방안이 있습니다. 이를 Exception처리 라합니다. 그리고 지난 Basic포스팅에서 언급한 입력문인 Scanner클래스의 사용방법 또한 간략하게 다루어보겠습니다. 예제 문제를 해결하며 알아보겠습니다. Java 예제문제 1 - 배열생성 및 오류해결 문제 조건1. 사용자에게 배열의 크기를 직접 입력받는다. 조건2. 사용자에게 배열내에 초기화될 값을 직접 입력받는다. 조건3. 배열내에 초기화될 값이 중복되면 안된다, 이럴경우 오류메세지를 출력하고 다시 입력받는다. 조건4. 정..