목록오버라이딩 (3)
불로구
클래스 - 클래스는 객체가 가지고 있는 데이터와 동작방법을 나타내는 정보이다. - 프로그램 설명서에 의해 클래스가 생성되고 메모리에 객체가 만들어지면 인스턴스화 된 것이라 볼 수 있다. 클래스 생성 - 클래스는 class라는 키워드를 사용한다. 우선 간단하게 클래스를 생성해보자 class Computer(var cpu:String, var graphic:String, var ram:Int){ override fun toString() = "cpu : $cpu , graphic : $graphic , ram : $ram" } Computer란 클래스를 생성하며 인자로 cpu, graphic, ram을 받았다. toString을 오버라이딩하여 각가의 값을 출력해주었다. val cpu1 = Computer("..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/H3zsE/btqEQ6GSU2X/1FKD7FKasRjnDNsvCx8Zck/img.png)
위 그림은 부모 고양이가 자식 고양이에게 화분을 주는 그림이다. 오늘 배울 오버라이딩은 이 그림과 배우 유사한 기능이다!! 오버라이딩 - 자식 클래스는 부모 클래스의 private 멤버를 제외하고 모든 메소드를 상속받으며 이렇게 받은 메소드를 그대로 사용하거나, 필요에 맞게 재정의를 해서 사용할 수 있다. - 메소드 재정의라고 하며, 상속된 일부 메소드를 자식 클래스에서 다시 수정하는 것이다. 재정의 방법 - 메소드 재정의를 하기 위해 지켜야 하는 몇 가지 규칙이 존재한다 1. 부모의 메소드와 동일한 리턴 타입, 이름, 매개 변수를 가져야 한다 2. 접근 제한을 저 강하게 하지 못한다. 3. 부모보다 예외 처리를 더 많이 할 수 없다 C는 P를 상속받고 있다. 메인에서 C에 대한 참..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ey8pic/btqEPmYnLHU/sSwakWrWBsmAcSk3CtI69K/img.png)
자바에는 오버라이딩과 오버로딩이란 것이 존재합니다. 오버라이딩을 배우기 전에 상속의 개념을 알아야 하기 때문에, 먼저 오버로딩에 대해 배워봅시다. 오버로딩 - 오버로딩의 종류로는 생성자 오버로딩과 메소드 오버로딩이 있다. - 생성자 오버로딩이란 다양한 방법으로 객체를 생성할 수 있는 것 - 메소드 오버로딩이란 같은 이름의 메소드를 여러 개 선언하는 것 생성자 오버로딩 생성자 오버로딩은 매개 변수의 타입, 개수, 순서가 다르게 선언하는 것이다. 각각의 생성자 별로 매개변수를 다르게 하여 객체를 생성하였다. 기본 생성자를 통해 생성된 객체는 모든 값이 인스턴스 변수의 초깃값으로 설정되었고 p1, p2, p3는 각각의 생성자에 매개변수에 개수에 맞게 객체를 생성하였다 물론 여기서도 매개변수의 개..