- [Java] 46. 추상 클래스Song hyun[Java] 46. 추상 클래스1. 추상 클래스(Abstract Class)란? -> 하나 이상의 추상 메서드를 포함하고 있는 클래스이다. ->추상 클래스는 구현이 없는(메서드 몸체가 없는) 메서드이며, 추상 클래스 내에서는 이러한 추상 메서드의 정의만을 포함하고 있다. ->추상 클래스는 직접적으로 객체를 생성할 수 없으며 다른 클래스에서 상속 받아 구현되어야 한다.->추상 클래스는 new 키워드를 사용할 수 없다. 2. 추상 클래스의 형식-추상 메서드를 포함하는 클래스는 반드시 추상 클래스여야 한다. 3. 추상 클래스와 상속-추상 클래스를 상속받는 방법은 두 가지가 있다.(1) 상속받는 자녀 클래스 역시 추상 클래스로 바꾸거나,(2) 부모 클래스(추상 클래스)의 메서드들을..
- 2024-04-24 15:10:18(359일 전)
- [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(359일 전)
- [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(359일 전)
- [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(359일 전)
- [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(359일 전)
- [Java] 43. 다형성과 캐스팅Song hyun[Java] 43. 다형성과 캐스팅1. 다형성의 개념2. 업캐스팅과 다운캐스팅3. 다형성과 캐스팅의 활용 1. 다형성의 개념(1) 다형성(Polymorphism)은 하나의 데이터 타입을 다양한 형태로 바라볼 수 있는 개념을 뜻한다. -다형성은 객체 지향 패러다임에서 중요한 개념 중 하나로, 이는 한 요소(메서드, 클래스)가 여러 형태를 가질 수 있는 등력을 뜻한다. -다형성은 코드의 유연성과 재사용성을 높이며, 이러한 개념은 상속/추상화/인터페이스에서 많이 쓰인다. -컴파일 시점에서는 문법적인 오류만을 확인하고, 런타임 시점에서 실제 객체가 만들어진다. 2. 업캐스팅과 다운캐스팅업캐스팅/다운캐스팅은 객체 지향 패러다임에서 다형성을 활용할 때 사용되는 개념이다. (1) 업캐스팅(U..
- 2024-04-24 10:28:16(359일 전)
- [Java] 42. 연관 관계 활용: 학생과 학급 클래스 만들기Song hyun[Java] 연관 관계 활용: 학생과 학급 클래스 만들기 도전 문제 - 학생과 학급은 어떤 관계로 바라볼 수 있을까?Classroom 객체와 Student 객체는 연관 관계를 형성하고 있습니다.단 Classroom 안에 Student[ ] 배열을 가지고 있지만 단순히 저장하는 용도 이며Student 필드를 가지고 있지 않습니다. 이는 직접 적인 포함 관계를 나타내지 않습니다. 1. 각각의 Student, ClassRoom 클래스 만들기- 이 때, ClassRoom 의 변수로 student[]를 선언한다.2. ClassRoom 클래스에서 showStudent를 만들어, student[]의 객체들을 출력하는 메서드를 만들기3. ClassRoom 객체 내부의 Student형 배열에 객체를 ..
- 2024-04-24 09:41:36(359일 전)
- [Java] 41. 연관 관계와 의존 관계Song hyun[Java] 41. 연관 관계와 의존 관계 연관 관계와 포함 관계는 객체지향 프로그래밍에서 객체간의 관계를 나타내는 두 가지 개념이다. 하지만 이 둘은 완전히 독립적인 개념이 아니며, 포함관계는 연관관계의 특수한 형태로 간주할 수 있다. ==> 모든 포함관계는 연관관계이지만, 모든 연관관계가 포함관계인 것은 아니다. 1. 연관 관계(Association) 연관 관계(Association)는 일반적으로 한 클래스의 객체가 다른 클래스의 객체와 상호작용을 하지만, 둘 사이의 생명주기에 대한 의존성을 가지지 않는 경우를 의미한다. -enum 클래스: 열거체(enumeration type)으로, 상수 데이터들의 집합이라고 볼 수 있다.(=열거형) 데이터의 범주화를 만들고 싶을 때 사용된다. (=domain) -..
- 2024-04-23 16:15:40(360일 전)
- [독서 노트] <인문학도, 개발자되다>-마르코Song hyun[독서 노트] -마르코 무언가를 새롭게 배우게 되면, 생전 들어본 적 없는 낯선 단어들과 마주하게 된다. 이럴 때는 간단한 일 하나하나도 힘들 때가 많다. 이럴 때, '다른 사람들은 어떻게 이런 과정을 헤쳐나갔을까?'하는 궁금증이 자연스레 떠오른다. 그런 궁금증을 해결하기 위해 마르코의 라는 책을 읽게 되었다. 저자가 인문대학 출신의 개발자이다보니, 비전공자인 나로서는 공감되는 부분이 많았다. 특히 '개발을 공부하기로 마음먹었을 때 내가 무엇을 모르는지도 모른다는 것이었다.'라는 부분이 많이 와닿았다. 전공자는 일상 속에서 자연스럽게 접하게 되는 기본적인 단어들도 잘 모를 때가 많아, 이리저리 검색을 통해 알게되는 때가 많았기 때문이다. 이런 부분을 어떻게 해결하면 좋을까? 라는 고민이 있었던 나로서는 ..
- 2024-04-23 13:52:19(360일 전)
- [Java] 40. 메서드 오버로딩, 상속 응용: 유닛에 마린, 질럿, 저글링 상속시키기Song hyun[Java] 40. 메서드 오버로딩, 상속 응용: 유닛에 마린, 질럿, 저글링 상속시키기 *이전 글: https://whatsthatsound.tistory.com/61 [Java] 27. Java로 스타크래프트 모델링하기 [Java] 27. Java로 스타크래프트 모델링하기 모델링 과정 1. 질럿, 저글링, 마린 클래스 생성하기 (1) 클래스마다 사용자 정의 생성자 만들기 (2) 클래스 별로 공격할 때/공격 받았을 때의 메서드 만들 whatsthatsound.tistory.com 이전에 작성한 스타크래프트 모델링의 소스코드를, 상속을 이용해 더욱 간단하게 만들어보자. 1. 상위 클래스인 Unit을 생성한다. -> 이 때, Unit의 변수는 질럿/마린/저글링 클래스가 공통적으로 지니는 name/power..
- 2024-04-23 12:22:15(360일 전)
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)