+ 00 00 0000

Have any Questions?

10_Simple Coding – Java – 상속- 기본 요약

10_Simple Coding – Java – 상속- 기본 요약

📃 요약

자바는 웹 프로그램을 개발하는데 특화된 컴파일 언어이자 벡엔드 개발 전문 언어임. 플랫폼에 독립적이라서 어떤 운영체제(OS)에서도 실행이 가능하며 가상머신을 통해 실행됨

요소 기술 :

Basic : 자바

📃 기술 구현

스펙 :

 intellij
 java

📃 상속

현실에서 상속은 부모가 자식에게 재산(자산)을 물려주는 것
코딩에서 상속은 부모클래스가 자식클래스에게 속성/함수를 물려주는 것

1) 상속 :

  • 부모 클래스의 속성과 함수를 자식 클래스에서 사용할 수 있도록 함

2) 함수(메소드) 재정의 :

  • 부모 함수를 자식 클래스에서 다시 정의하는 것

3) final 클래스 :

  • final 키워드로 선언된 클래스는 부모 클래스로 사용할 수 없음

4) final 함수 :

  • final 키워드로 선언된 함수는 재정의할(오버라이딩) 수 없음

📃 타입 변환과 다형성

기본 자료형에 자동타입변환/강제 타입변환이 있듯이, 클래스에도 자동타입변환/강제타입변환이 있음, 이것을 이용해 다형성을 구현함

1) 클래스 타입 변환 :

  • 다른 클래스 타입으로 객체를 대입하는 것(저장하는 것)

2) 자동 타입 변환 :

  • 자식 객체를 부모 타입 객체에 대입할 때는 자동으로 타입이 변환됨

3) 강제 타입 변환 :

  • 자식 객체를 부모 타입으로 변환된 상테에서 다시 원래의 자식 타입으로 변환하고자 할 때 캐스팅() 연산자를 사용해서 강제 타입 변환됨

4) instanceof 연산자 :

  • 객체가 어떤 타입인지 조사할 때 instanceof 연산자를 사용, 주로 강제 타입 변환 전에 변환이 가능한 지 조사할 때 사용함

5) 다형성 :

  • 객체 사용 방법(함수 호출방법)은 동일하지만 실행결과가 다양하게 나오는 성질

6) 다현성 구현 : 함수(메소드)재정의 + 타입변환

부모 타입으로 자동 타입 변환 후에 ( 자식클래스에 재정의된 함수가 있다면 ) 그 함수를 호출하면 재정의된 자식 함수가 호출됨

7) 다형성 장점 : 유연한 코딩으로 유지보수성 및 코딩 생산성을 향상시킴

예)
커피머쉰 프로그램을 만든다고 가정한다.

커피를 만드는 방법은 에스프레소, 아메리카노, 모카 등 많다

각각의 에스프레소.make(), 아메리카나.make(), 모카.make() 각각 만들고 다른 수십개의 프로그램에서 호출하게 하는 것은 비효율적이다.

미래의 변화를 고려할 때
커피.make()를 다른 수십개의 프로그램에 호출하게 만들고 실행클래스에서 호출 시 (1개) 커피 = new 에스프레소(); 이런 다형성 코딩을 이용하는 것이 효율적인 코드이다.

📃 추상 클래스

공통되는 특성을 추출해서 공통 클래스를 만드는데 주로 추상 클래스 등을 이용함

1) 추상클래스 :

  • 클래스들의 공통적인 속성과 함수를 추출해서 선언한 클래스

2) 추상 함수 :

  • 추상 클래스에서만 선언할 수 있고, 함수의 선언부만 있는 함수를 말함. 추상 함수는 자식 클래스에서 재정의되어 실행 내용을 결정해야 함

3) 실체클래스 (==자식클래스 ) :

  • 추상 클래스의 모든 특성을 물려받고 추가적인 특성를 가질 수 있음

4) 목적 :

  • 공통된 속성과 함수의 이름을 통일할 목적( 객체마다 재각각인 함수/속성 이름 : 난잡 )

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다