개미의 개열시미 프로그래밍

[Java Programming 초급(2)] 6강.추상 클래스와 내부 클래스 본문

Java

[Java Programming 초급(2)] 6강.추상 클래스와 내부 클래스

YunHyeok 2021. 12. 31. 01:33
728x90
반응형

[추상 클래스]

  • 일반적으로 하나 이상의 추상 메서드를 포함함
  • 추상 메서드가 없는 클래스도 추상 클래스로 선언가능
  • 추상 메서드를 가지고 있다면 무조건 추상 클래스로
  • 추상 클래스는 객체 생성을 할 수 없음
  • 추상클래스를 지원하는 이유 : 상속을 위해, 자식클래스에 부모클래스의 추상메서드가 상속된다면 오버라이딩해야 객체를 생성할 수 있다.
  • 활용 : 유지보수의 편의성을 높일 수 있기 때문에!

 

[내부 클래스]

: 자바의 클래스 구조를 더 조직화, 소스코드 구현시 고효율

내부 클래스가 생성되기 위해 외부 클래스의 객체가 반드시 필요!

  • 클래스는 멤버변수와 메서드로 구성
  • 클래스가 다른 클래스를 포함하는경우, 내부 클래스라고 함
  • 파일크기 최소화, 보안, 성능향상, 이벤트 처리를 쉽게 하기 위함
  • 정의 되는 위치에 따라 멤버클래스, 지역 클래스로 나뉨
  • 멤버 클래스 : 멤버 변수와 동일한 위치에 선언된 내부 클래스, static멤버와 instance멤버로 나뉨
    • 동일한 클래스 뿐만 아닌 다른 클래스에서 활용가능, 클래스의 멤버변수와 성격이 비슷함
    • instance 멤버 내부 클래스 : 멤버 변수나 메서드와 동일한 위치에서 선언되어 다른 외부의 클래스에서도 사용 가능
    • static 멤버 내부 클래스 : 외부 클래스를 객체를 생성하지 않고도 내부 클래스 객체 생성 가능
  • 지역 클래스 : 메서드 내에 클래스가 정의 되어 있는 경우, 지역클래스(이름o)와 무명클래스(이름x)로 나뉨
    • 활용범위가 메서드 블록 내부로 제한, 지역변수와 성격이 비슷함
    • 지역 내부 클래스 : 메서드 내부에서 정의된 클래스로서 지역 변수와 동일한 범위를 가짐
    • 무명 클래스 : 이름이 x, 추상 클래스의 객체를 내부 클래스 형태로 생성할 때 자주 사용 => 추상 클래스를 상속한 클래스가 만들어져 객체를 생성해야 하는데 이를 간단하게 이름이 없는 지역 내부 클래스로 만들어 사용하는 것이 편리할 수 있다.

 

[형변환]

묵시적 형변환

  • 작은 데이터 -> 큰데이터
  • 데이터 손실 우려 없음
  • 형변환 연산자 없이 자동 형변환

명시적 형변환

  • 큰데이터 -> 작은 데이터
  • 손실 우려 있음

객체 참조변수 간에도 형변환이 이루어짐

객체의 형변환을 활용하면 프로그램을 좀 더 유지보수가 편한 구조로 변경 가능 

728x90
반응형
Comments