- [Java] 50. 스윙 컴포넌트로 버튼 만들기Song hyun[Java] 50. 스윙 컴포넌트로 버튼 만들기 1. 모니터에 창 띄우기 2. 화면의 사방에 버튼 띄우기1. 모니터에 창 띄우기(1) 배치 관리자(Layout Manager): 컨테이너 안의 각 컴포넌트의 위치와 크기를 정해주는 작업. -setTitle(String): 타이틀 바의 제목을 출력한다.-setSize(int,int): 프레임의 크기를 결정한다.(가로,세로)-setVisible: 프레임을 화면에 나타나게 한다.(=디폴트는 숨겨진 상태이다.)-setDefaultCloseOperation: 윈도우창 종료시 프로세스 창도 함께 닫게 한다/ -awt (Abstract Window Toolkit) : 윈도우 GUI 프로그래밍을 돕는 도구.-FlowLayout: 해당 문화권(오->왼/왼->오)의 방식으로..
- 2024-04-25 14:12:18
- [Error Note] 14. 배열 선언 오류: Cannot define dimension expressions when an array initializer is provideSong hyun[Error Note] 14. 배열 선언 오류: Cannot define dimension expressions when an array initializer is provide 과일의 이름을 담는 배열 strArray.선언과 동시에 배열에 변수를 담는 중, 오류가 발생했다. 오류 메세지를 살펴보면 아래와 같다. 배열이 초기화 될 때는 다음 변수값 (밀크티, 커피, 허브티)을 어디에 넣어야 할지 모른다는 뜻이다. -define: 정의하다-initializer: 초기화Cannot define dimension expressions when an array initializer is provide 이는 배열의 기본 형식과 관련된 에러이다.선언과 동시에 배열 내 변수의 값을 초기화할 때에는, 배열의 크기..
- 2024-04-25 11:45:22
- [Java] 49. 자바 GUI와 Swing 컴포넌트Song hyun[Java] 49. 자바 GUI와 Swing 컴포넌트1. 자바 GUI의 개념2. Swing 컴포넌트 1. 자바 GUI의 개념(1) 그래픽 사용자 인터페이스(Graphic User Interfac; GUI)는 버튼, 스크롤바와 같은 이미지를 사용하여 프로그램을 사용하는 방식이다. GUI의 등장 이전에는 모든 프로그램이 콘솔 기반(CLI)으로, 명령 프롬프트, Git Bash와 같이 텍스트만을 사용해 프로그램을 사용했다. 오늘날 GUI는 객체 지향 기법이 가장 많이 쓰이는 분야로서, GUI 기반의 응용 프로그램을 작성하다보면, 우리는 클래스,객체, 상속 같은 요소들이 어떻게 쓰이는지 직접 확인할 수 있다. (2) GUI에서 사용되는 객체들을 GUI 컴포넌트(Component)라고 부른다. 웹사이트에서 흔히..
- 2024-04-25 11:26:54
- [Java] 48. 인터페이스와 추상화Song hyun[Java] 48. 인터페이스 1. 인터페이스의 개념2. 인터페이스의 특징3. 인터페이스와 추상화1. 인터페이스의 개념 (1) 인터페이스(Interface)는 강제성이 있는 약속이며, 기능 중심 설계이다.여러 프로그래머들이 독립적으로 클래스를 작성하고, 이 클래스들을 합쳐, 하나의 소프트웨어를 만든다고 생각해보자.다른 사람이 작성한 클래스와 내가 만든 클래스를 합치려면, 이 상호작용이 이루어지게끔 하나의 통일된 규격이 필요하다.이를 위해 존재하는 것이 인터페이스이다.(= 밑그림의 개념) (2) 인터페이스의 용도: 인터페이스는 상속이 아닌, 클래스간의 유사성을 만들기 위해 사용된다.비슷한 기능을 하는 클래스들을 하나로 묶어주는 틀, 규약이라고 생각하면 편하다.이런 인터페이스는 다형성(Polymorphis..
- 2024-04-25 09:26:49
- [Java] 47. 추상 클래스 활용: 클래스 구현하기Song hyun[Java] 추상 클래스 활용: 클래스 구현하기위의 사진대로 추상 클래스와 메서드를 구현해보자.1. 분석하기(1) 위의 사진을 살펴보자. 자세히 보면 이탤릭체(기울어진 글씨체)인 클래스, 메서드 명이 있는 것을 알 수 있다.이탤릭체로 표시된 클래스/변수는 추상화되었음을 의미한다. (2) 화살표는 상속을 의미한다. 가리켜지는 클래스가 부모 클래스이다.--> 추상 클래스인 Computer를 상속받는 클래스 DeskTop/NoteBook(추상 클래스), 그리고 NoteBook 클래스를 다시 상속받는 MyNoteBook 클래스가 있음을 알 수 있다. 2. 클래스 파일 및 메서드 생성하기(1) 우선 가장 먼저 상속하는 클래스인 Computer 클래스를 생성한다. 이 때, 클래스 선언 ..
- 2024-04-24 16:31:38
- [Java] 46. 추상 클래스Song hyun[Java] 46. 추상 클래스1. 추상 클래스(Abstract Class)란? -> 하나 이상의 추상 메서드를 포함하고 있는 클래스이다. ->추상 클래스는 구현이 없는(메서드 몸체가 없는) 메서드이며, 추상 클래스 내에서는 이러한 추상 메서드의 정의만을 포함하고 있다. ->추상 클래스는 직접적으로 객체를 생성할 수 없으며 다른 클래스에서 상속 받아 구현되어야 한다.->추상 클래스는 new 키워드를 사용할 수 없다. 2. 추상 클래스의 형식-추상 메서드를 포함하는 클래스는 반드시 추상 클래스여야 한다. 3. 추상 클래스와 상속-추상 클래스를 상속받는 방법은 두 가지가 있다.(1) 상속받는 자녀 클래스 역시 추상 클래스로 바꾸거나,(2) 부모 클래스(추상 클래스)의 메서드들을..
- 2024-04-24 15:10:18
- [Java] 45. 배열, 업/다운 캐스팅, 다형성 활용 : 인형 뽑기 프로그램 만들기Song hyun[Java] 배열, 업/다운 캐스팅, 다형성 활용 : 인형 뽑기 프로그램 만들기1. ToyMachine/Product 클래스를 생성해라.-ToyMachine 클래스에 Product 클래스의 객체를 받는 배열을 멤버변수로 생성해라.2. Product 클래스의 자녀 클래스들을 생성해라.3. ToyMachine/Product/Product의 자녀 클래스들을 활용해, 인형뽑기 프로그램을 생성해라.4. 업캐스팅/다운캐스팅의 개념을 응용해 새로운 기능을 만들어보자.풀이 과정1. ToyMachine/Product 클래스를 생성해라.-ToyMachine 클래스에 Product 클래스의 객체를 받는 배열을 멤버변수로 생성해라. 2. Product 클래스의 자녀 클래스들을 생성해라.-인형 뽑기 기계..
- 2024-04-24 12:41:01
- [Error Note] 13. 배열 선언 오류: Variable must provide either dimension expression or and array initializerSong hyun[Error Note] 13. 배열 선언 오류: Variable must provide either dimension expression or and array initializer 함께 보면 좋은 글: https://whatsthatsound.tistory.com/76 [Java] 33. 배열의 길이와 요소 [Java] 32. 배열의 길이와 요소 1. 배열의 길이와 요소 *배열의 길이와 요소의 개수는 꼭 동일하지 않다. **배열은 반복문과 함께 많이 쓰인다. 연습문제 1. -배열 안의 요소의 개수를 출력하시오. -값 whatsthatsound.tistory.com 정수형 변수들을 담는 배열, grades. 해당 배열을 선언하던 중 오류가 발생했다. 오류 메세지는 다음과 같다. 배열 초기화식을 포함해야 ..
- 2024-04-24 11:45:09
- [Java] 44. 다형성 활용: 스타크래프트 소스 코드 수정하기Song hyun함께 보면 좋을 글:(1) Java로 스타크래프트 모델링하기 (객체 지향 패러다임 응용)https://whatsthatsound.tistory.com/61(2) Java로 스타크래프트 모델링하기 (상속, 메서드 오버로딩 개념 응용)https://whatsthatsound.tistory.com/86 *다형성이란?https://whatsthatsound.tistory.com/89 앞서 작성하고, 수정한 "스타크래프트 모델링" 소스 코드를 다형성을 활용해 발전시켜보고자 한다.Java 프로그래밍의 특징인 다형성을 활용하면, 기존의 소스 코드들을 더욱 간단히 작성할 수 있다. 먼저 질럿/마린/저글링의 부모 클래스인 유닛을 살펴보면, 중복되는 메서드를 찾아볼 수 있다.바로 attack 메서..
- 2024-04-24 11:26:42
- [CSS] 2. 주요 선택자와 캐스캐이딩의 개념Song hyun[CSS] 2. 주요 선택자와 캐스캐이딩의 개념 1. 주요 선택자(1) 전체 선택자: ‘*’로 선택한다.(2) 태그 선택자: ‘태그 이름’으로 선택한다.(3) 클래스 선택자: ‘.’으로 선택한다.(4) id 선택자: ‘#’으로 선택한다.(5) 그룹 선택자: ‘,’로 선택한다. 2. 캐스캐이딩 스타일 시트와 우선순위(1) 캐스캐이딩 스타일 시트(CSS)의 의미: 캐스캐이딩(Cascading)은 폭포처럼 위에서 아래로 쏟아진다는 의미이다. 캐스캐이딩 스타일 시트(Cascading Style Sheet)는 위에서 아래로 적용되는 스타일 시트를 의미한다. 이는 CSS에서 가장 중요하게 적용되는 원리이다.(2) 원칙: 캐스케이딩은 스타일 우선순위/스타일 상속이라는 두 가지 원칙을 가지고 있..
- 2024-04-24 11:00:08
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)