java

5강 상속

getfeelingsfrom 2025. 2. 26. 17:15

객체

  • 특성과 행동을 가짐
  • 다른 객체들과 상호작용하면서 존재
  • 클래스 모양 그대로 찍어낸 실체
  • 메모리 공간을 가짐
  • 인스턴스

 

캡슐화

  • 외부의 접근으로부터 객체 보호
  • -> 클래스(속성+행동) 

 

상속

  • 하위 객체가 상위 객체의 속성을 모두 가지는 관계
  • 부모 클래스 = 수퍼 클래스
  • 하위클래스 = 서브 클래스

 

다형성

  • 같은 이름의 메소드가 클래스나 객체에 따라 다르게 동작하도록 구현
  • 메소드 오버리딩 : 같은 이름이지만 다르게 작동하는 여러 메소드
  • 메소드 오버라이딩 : 슈퍼클래스의 메소드를 서브 클래스마다 다르게 구현

 

객체지향언어 절차지향언어
-       소프트웨어 재사용과 부분 수정 빠름
-       다시 만드는 부담 줄임
-       소프트웨어 생산성 향상
-       실세계에 대한 쉬운 모델링
-       작업 순서 표현
-       객체들 간의 상호 작용으로 표현

 

 

클래스

  • class 키워드로 선언
  • public(다른 클래스에서 사용, 접근 o )
  • 필드 : 객체 내에서 사용되는 멤버변수
  • 메소드: 함수

 

생성자 :

  • 생성자 이름 = 클래스 이름
  • 객체 생성시 객체의 초기화를 위해 자동 호출 메소드
  • 여러 개 작성 가능 (오버로딩)
  • new를 통해 객체 생성
  • 리턴 타입 지정 불가
  • 기본 생성자 : 매개변수 없고 아무 작업없이 리턴하는 생성자

 

this :

  • 객체 자신에 대한 레퍼런스
  • 매개변수와 메소드 변수의 이름이 같을 때 사용
  • this()
  • 클래스 내의 다른 생성자 호출
  • 반드시 생성자 코드의 제일 처음 수행

 메소드

  • 클래스의 멤버 함수
  • 캡슐화의 원칙에 따라 클래스 안에 존재

 

메소드 오버로딩

  • 이름이 같은 메소드 작성
  • 매개변수의 개수나 타입이 다름

 

가비지 컬렉션

  • 자바에서 가비지를 자동 회수 과정
  • 장점: 프로그램에 더 이상 사용되지 않는 메모리를 자동으로 회수해주므로 편리함
  • 단점: 가비지 컬렉션이 진행되는 동안 응용 프로그램이 중단된다
  • System.gc();

 

 

 

패키지

  • 관련 있는 클래스 파일을 저장하는 디렉터리

 

접근지정자

Public class Default class
모든 클래스에게 접근 허용 같은 패키지의 클래스에만 접근 허용

 

 

Public Protected Default Private
같은 패키지o
다른 패키지o
같은 패키지o
다른 패키지 자식클래스 o
다른 패키지x
같은 패키지o
다른 패키지x
같은 패키지x
다른 패키지x

 

 

  • 필드 멤버는 private로 선언하여 보호하는 것이 바람직하다.

non-static, static

 

non-static(인스턴스 멤버)

  • 객체마다 생성 되는 것

static

  • 전역 변수와 전역 함수를 만들 때
  • 고유 멤버를 작성할 때
  • non-static 멤버 접근할 수 없음
  • static 메소드는 객체가 생성되지 않은 상황에도 호출 가능
  • -> this 사용 불가, 인스턴스 멤버 접근 불가

 

final        

  • 상수 선언할 때 사용
  • 선언 시에 초기값 지정
  • 실행 중 값 변경x
  • final 클래스는 클래스 상속 불가라는 뜻

'java' 카테고리의 다른 글

3강 반복문의 배열 그리고 예외 처리  (0) 2025.02.26
2강 자바 기본 프로그래밍  (0) 2025.01.10
1강 자바 시작  (1) 2025.01.10