- [Error Note] 16. 접근 제어 지시자 오류: The public type must be defined in its own fileSong hyun[Error Note] 16. 접근 제어 지시자 오류 : The public type must be defined in its own file 파일 내부에 클래스 A,B와 그 변수들을 선언하던 중, 에러가 발생했다.에러가 발생한 곳을 잘 살펴보면, 클래스 B를 선언하는 부분에서 에러가 발생한 것을 알 수 있다. 메세지는 아래와 같다.접근 지시 제어자가 public인 클래스는, 한 파일에 오직 하나에만 생성이 가능하다는 것이다.살펴보면 클래스 A,B 모두 접근 제어 지시자가 public임을 알 수 있다.The public type must be defined in its own file 이는 접근 지시 제어자 public의 특징으로, public 클래스의 개수를 하나로만 지정하면 된다.아래와 같이, 클..
- 2024-04-27 10:47:00
- [Java] 57. 인터페이스 활용: 스타크래프트 소스 코드 수정하기Song hyun[Java] 57. 인터페이스 활용: 스타크래프트 소스 코드 수정하기함께 보면 좋을 글:(1) Java로 스타크래프트 모델링하기 (객체 지향 패러다임 응용)https://whatsthatsound.tistory.com/61(2) Java로 스타크래프트 모델링하기 (상속, 메서드 오버로딩 개념 응용)https://whatsthatsound.tistory.com/86(3) Java로 스타크래프트 모델링하기 (다형성 활용)https://whatsthatsound.tistory.com/90 *다형성이란?https://whatsthatsound.tistory.com/89 *인터페이스와 추상 클래스의 활용https://whatsthatsound.tistory.com/108(1) 인터페이스는 기능적인 요소들에 강제성..
- 2024-04-26 16:52:25
- [Java] 56. Swing 응용 예제: 집 그리기Song hyun[Java] 56. Swing 응용 예제 1. JTextField 수정하기 2. Java Swing을 사용해 그림 그리기 1. JTextField 수정하기 JTextField는 로그인 하면 떠오르는, 한 줄 높이의 텍스트창을 생성하는 클래스이다.아래의 코드를 보면 JTextField 내의 값이 "아이디 입력"이라고 초기화된 것을 알 수 있다.private void initData() { setTitle("컴포넌트 확인"); setSize(800, 800); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); button = new JButton("JButton"); label = new JLabel("글자를 띄우는 컴포넌트"); te..
- 2024-04-26 14:16:18
- [Error Note] 15. 배열 호출 오류: Null Pointer ExceptionSong hyun[Error Note] 15. 배열 호출 오류: Null Pointer Exception 책의 정보를 담는 클래스 Book.Book 클래스의 변수를 담는, 개수가 10인 books라는 배열을 만들고,배열 속의 변수를 차례차례 출력하는 for문을 만들었다. 해당 for문을 사용해 변수들을 출력하려던 찰나,"Null Pointer Exception" 오류가 발생했다. Null Pointer Exception Null pointer exception은 null 값을 가진 변수를 호출할 때 발생하는 에러이다. 아래의 코드를 잘 살펴보자. books 배열에 0,1,2,3,4,9번째 인덱스에 각각의 책 제목, 저자를 의미하는 변수들을 초기화했다.그런데 books[4]에서 바로 books[9]를 초기화한 것을 볼 수..
- 2024-04-26 12:23:30
- [Java] 55. Swing: 패널과 컨테이너Song hyun[Java] 55. Swing: 패널과 컨테이너1. 패널과 컨테이너의 정의2. 패널, 컨테이너 응용하기(1)3. 패널, 컨테이너 응용하기(2)1. 패널과 컨테이너의 정의 (1) 패널(Panel): 컨테이너를 상속받은 클래스로, 일반적으로 컴포넌트들을 구성하고, 배치하기 위해 사용되는 컨테이너이다. 컨테이너 클래스는 컴포넌트를 붙일 수는 있으나 자주 사용되지는 않고, 보통 패널이 사용된다.(2) 컨테이너(Container): 사용자 인터페이스 요소들, 즉 컴포넌트들을 담고 그룹화하거나, 배치한다.(3) 프레임(Frame): 자바 GUI의 모든 구성요소를 담는 컨테이너이다. 우리가 흔히 보는 프로그램 창을 생각하면 될 것이다. (4) 레이아웃(Layout): 레이아웃은 컨테이너 내의 배치 관리방법을 일컫는..
- 2024-04-26 12:16:01
- [Java] 54. 인터페이스와 추상 클래스의 활용Song hyun[Java] 54. 인터페이스의 활용 인터페이스와 추상 클래스는 비슷하게 보여도 다른 목적으로 사용된다. 아래의 코드를 살펴보자. (1) iUserInterface 인터페이스: 첫번째 사진은 iUserInterface 인터페이스다. CRUD 법칙에 따라 4개의 추상 클래스를 생성한 것을 볼 수 있다. 인터페이스는 앞의 글에서 말한 것처럼, 코드의 대략적인 뼈대라고 할 수 있다. 클래스명, 파라미터 내의 변수, 제작해야 하는 기능 등을 통일하고, 강제성을 부여해 상호작용이 보다 원활하게 이뤄지도록 도와주는 도구이다.-> iUserInterface 인터페이스를 implements하면, 반드시 제작해야하는 네 기능(CRUD)를 잊지 않고 제작할 수 있다. (2) UserInfoOracleDaoImpl, u..
- 2024-04-26 11:32:49
- [Java] 53. String, StringBuffer 클래스Song hyun[Java] 53. String, StringBuffer 클래스1. String 클래스란?2. StringBuffer 클래스란?3. text block(java13) 사용하기 1. String 클래스란?-String 클래스는 (1) 힙 메모리에 인스턴스로 생성하거나, (2) 상수 풀(constant pool)에 있는 주소를 참조하는 방법이 있다.-힙 메모리는 생성될 때마다 다른 주소 값을 가지지만, 상수 풀의 문자열은 모두 같은 주소 값을 가지고 있다. *상수 풀에 올라간 String 값은 먼저 존재하는지 확인부터 하게 된다. 만약 같은 문자열이 존재한다면, 새로 생성하지 않고, 다시 재사용한다. **==는 객체의 주소값을 비교하는 연산자이다.***equals는 문자열 값을 비교하는 클래스이다.=>문자열..
- 2024-04-26 09:39:12
- [설치 메뉴얼] Git 브랜치 만들기 & 머지하기Song hyun[설치 메뉴얼] Git 브랜치 만들기 & 머지하기1. 브랜치 생성 방법: 현재 브랜치가 몇 개고, 어떤 게 있었지? 2. 브랜치 이동: 새로운 브랜치로 이동해보자.3. git merge 하는 방법4. 브랜치 삭제하기 1. 브랜치 생성 방법: 현재 브랜치가 몇 개고, 어떤 게 있었지? 기존 브랜치의 개수, 이름을 확인하는 법은 간단하다.아래와 같이 git branch를 입력하면, 기존의 브랜치의 목록들이 출력된다.아래 코드 상에서는 main 외의 브랜치는 없다는 것을 알 수 있다.2. 브랜치 이동: 새로운 브랜치로 이동해보자. (1) git branch [브랜치 명]을 입력해 새로운 브랜치를 만든다.(2) 다시 git branch를 입력해보면, feature-string(아래 코드 참조)라는 이름의 브랜치..
- 2024-04-26 09:26:14
- [Java] 52. Object 클래스Song hyun[Java] 52. Object 클래스1. Object 클래스가 뭘까?2. Object 클래스의 메서드 활용 1. Object 클래스가 뭘까?(1) Object의 정의: Object 클래스는 모든 클래스의 최상위 클래스이다. 모든 클래스는 Object 클래스에서 상속받고, Object 클래스의 메서드 중 일부는 재정의해서 사용할 수 있다. Object 클래스는 단일 상속 규칙에서 유일한 예외이다. (2) Object의 특징:- Object 클래스는 java.lang 패키지 내부에 존재한다.-import java.lang*; 프로그래밍시 import 하지 않아도 자동으로 가지고 온다.- 많이 사용하는 기본 클래스들이 속한 패키지이며 String, Integer, System… 등이 존재한다. 2. Obj..
- 2024-04-25 15:12:02
- [Java] 51. 스윙 컴포넌트, 반복문 활용: 동서남북에 버튼 만들기Song hyun[Java] 51. 스윙 컴포넌트, 반복문 활용: 동서남북에 버튼 만들기스윙 컴포넌트를 사용해 동/서/남/북/중앙에 각각의 버튼을 만들어보자.(총 5개)(3) 반복문 만들기반복문을 사용하지 않을 때의 코드는add(button1, BorderLayout_EAST);add(button2, BorderLayout_WEST);add(button3, BorderLayout_SOUTH);add(button4, BorderLayout_NORTH);add(button5, BorderLayout_CENTER); 이다.각각의 버튼을 다섯가지 위치에 생성하는 코드이다. 우리는 여기서 add(JButton 타입 변수, BorderLayout_방향을 의미하는 String 타입 변수); 라는 패턴이 반복되고 있다는 것을 알 수..
- 2024-04-25 14:27:24
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)