객체지향 프로그래밍
[Java] 다형성, 캐스팅, 추상 클래스, 추상 메서드
다형성이란? 동일한 타입을 사용하지만 다양한 결과가 나오는 성질 실행 도중에 어떤 객체를 필드로 사용하느냐에 따라 결과가 달라짐 자동 형변환을 이용해 필드값을 변경하면 메서드를 수정 안 해도 다양한 결과를 얻을 수 있음 ex) 컴퓨터는 저장소, 그래픽 카드 등의 객체를 보유하고 있다. 하지만, 사용하면서 부품을 교체해가면서 사용한다. 새로운 부품은 기존과 동일하지만 실행 결과는 더 좋게 나온다. 캐스팅(Casting) : 강제 타입 변환 부모 타입을 자식 타입으로 변환하는 것 자식 타입이 부모 타입으로 자동 형변환한 후, 본래 타입으로 변환할 때 본인의 필드나 메서드 사용이 가능해짐 추상 클래스 클래스들의 공통 특성을 추출해 선언한 클래스 실체 클래스와 상속 관계 추상 클래스가 부모, 실체 클래스가 자식..
[Java] 객체지향 프로그래밍(OOP)이란?
객체지향 프로그래밍이란? 부품에 해당하는 객체들을 먼저 만들고, 프로그램을 객체로 구성하는 것 프로그램 규모가 커지면서 생각한 해결책이 '프로그램을 작게 나눠서 만들고, 합치자!'이다. 각각의 객체는 맡은 작은 기능을 수행하고, 서로 협력해 큰 규모의 프로그램이 되는 것이다. 이 과정에서 굉장히 많은 객체가 존재할 수 있기 때문에 객체를 서로 구분해야 한다. 결국, 각 객체들에게 기능을 제공하는데 어떤 책임을 부여하고 어떻게 협력을 할지 정하는 것이 객체지향 프로그래밍이다! 객체란? 자신의 속성을 가지고 있고 다른 친구들과 식별 가능한 것으로 작은 기능을 수행한다. 프로그램을 만들 때 객체를 서로 구분해야 하는데, type(형)으로 구분한다. 타입을 만든다는 것은 클래스를 만드는 것과 같다. ex) St..