- [Java] 32. 자료구조와 배열Song hyun[Java] 32. 자료구조와 배열 1. CRUD 개념 C: Create R: Read U: Update D: Delete -CRUD는 많은 소프트웨어에서 사용되는 개념이다. 각각 Create(생성), Read(조회), Update(수정), Delete(삭제)를 의미하며, 이는 기본적인 데이터 관리 기능을 뜻한다. 2. 자료 구조 자료 구조: 자료 구조는 데이터를 어떻게 조직화하고, 저장하며, 접근할 지를 정하는 방법/방법론이다. (1) 자료구조의 특징 -효율성: 데이터를 효율적으로 저장, 삽입, 검색, 삭제할 수 있어야 한다. -추상화: 데이터의 논리적인 구조와 물리적인 구현을 분리해, 추상적으로 정의해야 한다. -재사용성: 여러 프로그램에서 재사용할 수 있게 유연한 구조여야 한다. (2) 자주 쓰이는..
- 2024-04-22 10:30:27
- [Java] 31. 버블 정렬Song hyun[Java] 31. 버블 정렬 1. 버블 정렬(bubble sort, sinking sort): 서로 인접한 두 원소를 검사하여, 정렬하는 알고리즘을 버블 정렬이라고 부른다. -서로 인접한 2개의 변수를 비교, 크기가 순서대로(오름차순)가 아니라면 서로의 위치를 교환한다. -원소의 이동이 거품이 수면으로 올라오는 듯한 모습을 보이기에 '버블 정렬'이라고 불린다. -버블 정렬은 구현이 간단하다는 장점을 가지고 있다. -하지만 순서에 맞지 않은 요소를 인접한 요소와 교환해, 정렬이 맞지 않을 때가 있다. 2. 버블 정렬의 예시 아래의 코드를 살펴보자. -(1) gameNumber 변수: 각각의 gameNumber(1,2,3,4,5,6) 변수들은 1~45까지의 수 중 랜덤한 값 하나를 가진다. -(2) tem..
- 2024-04-19 13:06:40
- [Java] 30. Oracle 에서 Java 문서 읽기Song hyun[Java] 30. Oracle 에서 Java 문서 읽기 오늘은 JAVA API에 대한 문서를 읽고 사용법을 알아보자. 우선 구글에 알고 싶은 API에 대해 검색해보자. 난수(랜덤한 수) 를 생성해주는 JAVA : API java.util.random를 구글에 검색하면 다음과 같은 화면이 나타난다. 여기서 Oracle Help Center를 클릭한다. Oracle Help Center에 접속하면 다음과 같이 API에 대해 설명하는 페이지를 볼 수 있다. (Oracle Help Center 주소: https://docs.oracle.com/javase/8/docs/api/java/util/Random.html) Random (Java Platform SE 8 ) An instance of this clas..
- 2024-04-19 10:23:31
- [Java] 28. static 메서드의 개념과 메서드 오버로딩Song hyun[Java] 28. static 메서드의 개념과 메서드 오버로딩 1. static 메서드의 개념 2. Method Area와 heap 영역의 실행 시점의 이해 3. 메서드 오버로딩 *함께 보기 https://whatsthatsound.tistory.com/62 [Java] 27. Static 변수와 원리 [Java] 27. Static 변수와 원리 1. static 변수 static: 프로그래밍에서 중요한 개념 중 하나이다. -클래스 변수라고도 불린다. -클래스의 모든 인스턴스가 공유하는 변수이다. =즉, 객체가 동일한 static 변 whatsthatsound.tistory.com 1. static 메서드(정적 메서드)의 개념 -static 메서드는 정적 메서드라고도 불리며, 특정 클래스의 인스턴스에 ..
- 2024-04-19 10:11:39
- [Java] 28. Static 변수와 원리Song hyun[Java] 28. Static 변수와 원리 1. static 변수 static: 프로그래밍에서 중요한 개념 중 하나이다. -클래스 변수라고도 불린다. -클래스의 모든 인스턴스가 공유하는 변수이다. =즉, 객체가 동일한 static 변수의 값을 공유한다. 2. static 변수의 원리 : 왜 static 변수라고 불릴까? 우리가 자바 프로그램을 실행하면, 프로그램을 수행하기 위해 운영체제로부터 할당받는 메모리들이 존재한다. 그 특성에 따라 영역이 존재하는데, 그 구성요소는 아래와 같다. 메모리 영역(JVM Memory, Runtime Data Area) -메서드 영역->스택->힙 순서로 동작한다. 3. static 변수 연습하기 4-1. 카드 Class를 만들어, static을 이용해 카드마다 고유의 번..
- 2024-04-18 14:01:39
- [Java] 27. Java로 스타크래프트 모델링하기Song hyun[Java] 27. Java로 스타크래프트 모델링하기 모델링 과정 1. 질럿, 저글링, 마린 클래스 생성하기 (1) 클래스마다 사용자 정의 생성자 만들기 (2) 클래스 별로 공격할 때/공격 받았을 때의 메서드 만들기 2. 게이트웨이 클래스 생성하기 (1) 게이트웨이 클래스 내부에 질럿, 저글링, 마린 클래스를 생성하는 메서드 만들기 1. 질럿, 저글링, 마린 클래스 생성하기 (1) 클래스마다 사용자 정의 생성자 만들기 -Zealot, Marine, Zergling 세 클래스는 모두 동일한 멤버변수 name, hp, power를 지닌다. 이 때, 외부에서 멤버변수에 접근하거나 초기화할 수 없도록 private 접근 제어자를 넣는다. (2) 클래스 별로 공격할 때/공격 받았을 때의 메서드 만들기 -각각의 클..
- 2024-04-18 11:18:50
- [Java] 26. 참조 변수 this, this의 3가지 용법Song hyun[Java] 26. 참조 변수 this, this의 3가지 용법 1. 참조 변수 this this: 인스턴스(객체) 자신의 메모리를 가리키는 참조 변수이다. (=인스턴스의 주소.) this는 컴파일러에서 자동으로 생성한다. 생성자 내부에서 매개 변수와 필드 이름이 동일할 때, 혼동을 피하기 위해 많이 쓰인다. -생성자에서 또 다른 생성자를 호출할 때 사용할 수 있다. -자신의 주소(참조값, 주소값)을 반환시킬 수 있다. 2. this의 세 가지 용법 (1) 자기 자신을 가리키는 this 메서드는 이름이 같으면 가장 가까운 변수를 사용한다. 매개변수를 설계할 때, 멤버변수와 이름을 다르게 한다. 프로그램 내부의 변수가 많아, 변수의 이름을 변경하기 보다는 this.를 통해 객체 내부의 변수를 가리키는 경우..
- 2024-04-18 09:38:04
- [Java] 25. getter/setter 메서드Song hyun[Java] 25. getter/setter 메서드 인스턴스화 된 객체의 변수를 외부에서 직접 조작시, 값이 덮어쓰여지거나 예상치 못한 결과(오류)가 발생할 수 있다. 이런 위험을 방지하기 위해, 객체 지향 패러다임에서는 객체를 직접 초기화하는 것이 아닌 주로 특정 기능/메서드를 통해 조작한다. getter/setter 메서드는 그런 기능/메서드의 대표적인 예라고 할 수 있다. 1. getter/setter 메서드 (1) getter: 외부에서 객체의 값을 읽을 때 사용된다. (get) 객체의 상태변수를 return 한다. (2) setter: 외부에서 객체의 값을 초기화할 때 사용된다. (set) 멤버 변수에 접근해서, 객체의 상태값을 변하게 한다. 리턴 타입은 void이다. 2. 왜 getter/se..
- 2024-04-17 10:45:21
- [Java] 24. 접근 제어 지시자와 정보 은닉Song hyun[Java] 24. 접근 제어 지시자와 정보 은닉 1. 접근 제어 지시자 접근 제어(Access Control)은 클래스의 멤버에 접근하는 것을 제어하는 것이다. 일종의 보안장치인 셈이다. 접근 제어 지시자(Access Modifier)는 클래스의 외부에서 클래스 내부의 멤버 변수, 메서드, 생성자를 사용할 수 있는지 여부를 지칭하는 키워드이다. 접근 제어의 여부를 결정짓는 것이 접근 제어 지시자라고 할 수 있다. 2. 접근 제어 지시자의 종류 (1) public: 어디에서든 접근이 가능하다. 접근 제어 지시자 내에서 가장 공개적이다. (2) default: 같은 패키지 내에서 접근이 가능하다. 접근 제어 지시자를 작성하지 않으면 default가 할당된다. (3) protected: 동일 패키지, 상속 ..
- 2024-04-17 09:44:25
- [Java] 23. 개념 응용하기: 함수와 메서드를 이용한 응용문제Song hyun응용 문제 1. 객체 지향 프로그래밍의 개념을 응용하여, 간단한 게임을 만들어보자. (1) Warrior, Magician, Archer 총 3개의 클래스를 만들어라. (2) 3개의 클래스를 인스턴스화하고, 각각 초기화해라. (3) 사용받은 값에 따라 직업을 선택하고, 몬스터와 전투한 뒤 체력에 따라 승리/패배를 출력하는 코드를 작성해라. 풀이 과정. 1. 클래스 파일 생성 (1) Warrior, Magician, Archer 총 3개의 클래스 파일을 생성하고, (2) 각각의 클래스에 이름, 레벨, 체력, 힘, 돈, 크리티컬과 같은 요소들을 변수로 선언한다. (3) 사용자의 정보를 입력받아 쓸 수 있게끔 사용자 지정 생성자를 만든다. (4) 다른 캐릭터를 공격할 때, 공격 받았을 때, 레벨업 할 때, 상..
- 2024-04-16 17:49:14
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)