JAVA
추상 클래스의 작성 (2)
추상 클래스의 작성 (2)
2022.04.05추상 클래스의 작성 이번 시간은, "아직 추상 클래스가 왜 필요한지 잘 모르겠다!" 라는 생각을 말씀히 지워보는 시간이다. 예를 들어서, 같은 회사의 50인치 Tv A, B, C가 있다고 가정해보자. 그러면, 설계도가 비슷할 것이다. 공통부분이 있고, 약간의 부분만 다를 것이다. 이것들을 설계도를 하나하나씩 관리한다면, 만약, 변경사항이 생기면, 설계도를 하나하나씩 다 고쳐야 할 것이다. 그래서 객체지향 개념에서는 이것을 어떻게 하냐면, 공통부분을 조상클래스로 묶는다. 대신 이것은 미완성 설계도 이다. 그리고, 이 미완성 설게도를 바탕으로 설계도를 완성시킨다. 부모 자손관계로 해놓으면, 중복이 제거되고, 자손들은 옵션만 추가하면 완성된다. 처음보다 설계도를 만들기 쉬워졌다. 그리고, 만약에 또 새로운 모..
추상 클래스의 작성 (1)
추상 클래스의 작성 (1)
2022.04.05추상 클래스의 작성 여러 클래스에 공통적으로 사용될 수 있는 추상클래스를 바로 작성하거나 기존클래스의 공통 부분을 뽑아서 추상클래스를 만든다. 추상 클래스를 작성 할 때, 저번 처럼 바로 정의할 수 도 있지만, 기존에 있는 클래스들에서 공통적인 부분을 뽑아서 추상클래스로 만들기도 한다. 예를들어, 이런 클래스가 있을 때, Marine이라는 보병에 대한 클래스와, Tank라는 탱크에 대한 클래스, 그리고 Dropship이라는 수송선에 대한 클래스가 있을 때, 게임을 가정하고 만든 것인데, 이거 각 클래스를 보면, x, y로 각 유닛의 위치가 있고, 움직이거나 멈출수 있어야 하는 것을 알 수 있다. 그래서 이것들의 공통 부분을 뽑아내서 우측처럼 Unit이라는 클래스를 만들었다. x, y로 위치, move, ..
추상 클래스, 추상 메서드
추상 클래스, 추상 메서드
2022.04.05추상 클래스 (abstract class) 미완성 설계도, 미완성 메서드를 갖고 있는 클래스 추상클래스란, 미완성 설계도이다. 즉, 부족한 부분이 있다는 뜻이다. 부족하고, 미완성이라는 이야기가 멤버에 대한 이야기가 아니라, 미완성 메서드를 갖고 있으면, 미완성 설계도, 즉, 추상 클래스이다. 코드를 보자. Player라는 클래스가 있다. 이클래스는 추상클래스다. (미완성 클래스) 그 이유는, 미완성 메서드를 가지고 있기 때문이다. 미완성 메서드는,추상 메서드라고 불린다. 몸통 블럭{}이 없는 메서드를 추상 메서드라고 부른다. 추상 메서드(미완성 메서드)를 가지고 있는 클래스를 추상 클래스(미완성 메서드)라고 부른다. 추상 메서드는 몸통{}이 없는 대신, 앞에다 abstract라고 붙인다. 원래는, 몸통..
여러 종류의 객체를 배열로 다루기
여러 종류의 객체를 배열로 다루기
2022.04.04다형성의 장점에 대해서 공부하고 있는데, 저번시간에 다형성의 장점은 2가지가 있다고 했는데, 다형적 매개변수 하나의 배열에 여러 종류 객체저장 저번시간에 는 다형적 매개변수라는 장점에 대해서 알아보았고, 오늘은 두번째 장점인, 하나의 배열에 여러 종류 객체 저장이라는 장점에 대해서 알아보자. 여러 종류의 객체를 배열로 다루기 조상타입의 배열에 자손들의 객체를 담을 수 있다. 보통 하나의 배열에는 같은 타입만 저장이 가능하다. 그러나 다형성을 이용하면, 하나의 배열에 여러 종류의 객체를 저장할 수 있다. 전시간에 봤던 것 처럼, Product는 Tv, Computer, Audio등 제품의 조상이다. Tv, Computer, Audio는 자손이다. 이것들을 p1, p2, p3에 생성해서 담았다. 이것을 배열..
매개변수 다형성
매개변수 다형성
2022.04.04지금까지는 다형성이 뭔지를 공부했다면, 이번시간에는 다형성의 장점에 대해서 공부할 것이다. 우선, 다형성에 대해서 먼저 다시 정리를 해보자. 1. 조상타입의 참조변수로 자손 객체를 다루는 것. 2. 참조변수의 형변환 - 리모컨 바꾸기 3. instanceof 연산자 - 형변환 가능 여부 체크 앞서배운 이것들을 기억하고 있어야, 다음 설명들이 이해된다. [다형성의 장점] 다형적 매개변수 하나의 배열로 여러종류 객체 다루기 먼저, 다형성의 첫번째 장점인 다형적 매개변수에 대해서 알아보자. 매개변수의 다형성 참조형 매개변수는 메서드 호출시, 자신과 같은 타입 또는 자손타입의 인스턴스를 넘겨줄 수 있다. 매개변수가 참조형이면, 메서드 호출할 때, 이 매개변수로 자신과 같은 타입 또는 자손타입을 매개변수로 넘겨줄..
instanceof 연산자
instanceof 연산자
2022.04.03instanceof 연산자 참조변수의 형변환 가능여부 확인헤 사용. 가능하면 true 반환 형변환 전에 반드시 instanceof로 확인해야 함 instanceof연산자는 형변환이 가능한지 확인하는대에 사용한다. 형변환이 가능하면 true를 반환한다. 형변환을 하기전에는 반드시 instanceof 연산자로 확인하고 형변환을 해야한다. 예를 들어서 이러한 코드가 있다고 가정해보자. 참조변수 c의 타입은 Car이다. 참조변수 c에 들어올 수 있는것은 new Car(); new FireEngine(); new Ambulance();가 가능하다. 즉, Car타입의 참조변수에는 c는 Car 또는 Car의 모든 자손이 들어올 수 있다. 그런데, 위의 메서드에서는 이 셋중에 어떤 것이 c에 들어올지 아직 모른다. 그..