java(97)
-
Day15 - Quiz 를 풀어 봅시다
오늘은 한 주를 시작하는 월요일 이네요 후.. 언제나 월요일은 힘듭니다. 그러면 본론으로 들어가서 퀴즈를 풀어 보겠습니다 저번에 만들었던, 플레이어, 전사, 마법사 가 있죠 고대로 가져와서 몇가지만 수정 하겠습니다 이렇게 생성자를 통해 초기화 하는 부분만 변경 시켜 주도록 하겠습니다. - Wirror 에서 bash 를 만들어라 - 다른 공격할 캐릭터를 매개변수로 넣고, hp를 깎은 후 출력해라 - mp가 100 이상일 경우에만 bash를 사용할 수 있도록 해라 1. mp가 100 이상인지 확인한다 2. 매개변수로 받은 객체가 Warrior 인지 Wizard 인지 확인한다 - Wizard 는 Blizzard 스킬을 가지고 있다. - 캐릭터들의 배열을 받아서, 받은 배열에 10 ~ 15 랜덤 피해를 입혀라 ..
2021.03.08 -
Day15 - instanceof
이번에는 instanceof 에 대해 알아 봅시다 instanceof 객체 instanceof 클래스 로 쓸 수 있고, 결과값으로 같다면 true , 틀리다면 false 가 반환이 됩니다. 예제로 봅시다 Person 에는 Student, Teacher, Employee, Person . 4개를 받을 수 있죠 instacneof 는 양쪽에 있는 클래스를 비교해서, 같다면 true를, 틀리다면 false 를 반환하기 떄문에 위 코드처럼 if문이랑 연계해서 사용할 수 있습니다. 전달받은 매개변수 p 가 Student 라면, 절달받은 매개변수 p 가 Teacher 이라면, 전달받은 매개변수 p 가 Employee 라면, 전달받은 매개변수 p 가 Person 이라면... 이렇게 해석을 할 수 있는데요, 위에서부터..
2021.03.08 -
Day15 - 다형성이 필요한 이유 / 메서드
이번에는 다형성을 이용한 메서드를 알아 봅시다 다형성은 왜 필요한가? 부모 클래스 - Person 자식 클래스 - Student, Teacher, Employee 가 있습니다. 먼저, 다형성이 없다면, 이렇게 각각의 배열에 맞게 접근을 해줘야겠죠? 그런데 다형성이 있다면 !? 위와 같은 일을 하는 것 뿐인데, 이번에는 데이터들을 한 타입에다가 저장할 수 있고, 접근도 한번에 같이 할 수 있게 됩니다. 다형성을 사용해서 이렇게 한번에 쉽게 접근할 수 있게 되는거죠. 다형성을 이용한 메서드 만들기 이번에는 메서드를 만들어 볼껀데, 클래스를 매개변수로 받아서 사용하는 메서드를 만든 적이 있죠? 그걸 잘 생각 해봅시다. 객체를 사용하기 위해서 매개변수로 객체를 받아서 사용했죠? 그러면, 이번에 배운 다형성을 이..
2021.03.08 -
Day15 - 다형성
이번에는 다형성에 대해서 알아 봅시다 다형성 일단 다형성은 이러한 뜻을 가지고 있는데, 그냥 '여러가지 형태가 있다' 라고 생각하시면 될 것 같습니다 다형성에는 , 이미 배웠던 오버라이딩과 오버로딩이 있는데요 여기서 알아볼 다형성은 클래스의 상속 관계에서 일어나는 일입니다. 하나의 객체가 여러가지 유형으로 사용될 수 있습니다. 변수로 생각을 해봅시다. int 변수는 double 변수로 캐스팅 할수 있죠? int a = 10; double = a; 이런 식으로..... 그러면, a의 값은 10.0 이 됩니다. 이 형식을 고대로 클래스라고 생각을 해봅시다. Parents p = new Chile(); 자식 클래스가 부모 클래스로 저장이 된다. 즉. 상속을 전제하고 있습니다. 부모 클래스를 상속받는 다른 모든..
2021.03.08 -
Day14 - 클래스 내에서 객체 만들기
이번에는 클래스 에서 객체 만들기를 해 볼 겁니다 눈치가 빠르신 분들은 가르쳐 드리지 않아도 아시고 계시겠지만..... 클래스를 만들고 객체화를 할 때 어떻게 사용하죠? 클래스명 name = new 클래스명(생성자); 이렇게 사용하죠? 여기서 앞 부분. 클래스명 name 이 부분만 생각해 봅시다 어디서 많이 본 것 같지 않으세요? int a; 이거랑 똑같이 생겼는데? 그렇습니다. 바로 클래스는 하나의 데이터 타입이죠 그러면, 멤버변수로 만들 수도 있을 것 같다는 생각 해보셨나요? 호텔 이라는 객체를 만들 었다고 생각을 해 봅시다. 그 호텔 안에, 요리사도 있고, 호텔직원도 있을 수 있겠죠? 여기서 요리사, 호텔직원 은 객체겠죠? 이렇게 직원과, 요리사를 클래스로 만들 었습니다 그리고 호텔 클래스 안에 직..
2021.03.06 -
Day14 - 캡슐화, 정보 은닉 / setter , getter
이번에는 정보 은닉, 캡슐화에 대해 알아 봅시다 캡슐화 캡슐화는 객체지향프로그래밍의 특징 중 하나로, 연관된 데이터와 함수를 논리적으로 묶어놓은 것 입니다. 즉. 비슷한 데이터, 비슷한 기능 들을 묶어서 사용하는 겁니다. 우리가 이미 하고 있는거에요 Student 는 학생이죠? 우리는 학생에 있을 법한 변수를 넣고, 있을 법한 기능을 넣어 줬습니다. 그리고, 뜬금없이 Student에 fly 같은 기능을 넣지는 안잖아요? 이게 바로 캡슐화에요. 정보 은닉 자. 생각해 봅시다 여러분의 개인정보 소중한가요? 소중하죠 왜 소중한가? 음... 왜 소중할까요? 그건 스스로 생각해 봅시다 아무튼. 데이터는 소중하죠? 그러면, 이 데이터를 아무나 막 설정하고, 보고 하면 되나요? 안되죠? 그렇기 때문에 우리는 정보를 ..
2021.03.06