본문 바로가기
Java Tutorial

[Java] 객체 지향 프로그래밍 (Object Oriented Programming)

by 미소5 2023. 2. 10.

객체지향프로그래밍(Object Oriented Programming)

  • 부품에 해당하는 객체들을 언저 만들고, 이것들을 하나씩 조립 및 연결해서 전체 프로그램을 완성하는 기법을 객체지향프로그래밍이라고 한다. 이때 사용되는 언어가 객체지향언어이다.
  • java객체지향언어(+함수형언어)이다. (객체지향프로그래밍+함수적프로그래밍)
  • 객체지향언어가 가져야할 기능 3가지: 캡슐화, 상속, 다형성

 

  • 캡슐화
    • 접근제어자를 사용하여, 외부에서 직접 접근 못하도록 한다.  →  외부에는 불필요한(내부적으로만 사용되는) 부분을 감추어, 외부로부터 데이터를 보호한다

 

  • 상속: 기존의 클래스로 새로운 클래스를 작성
    • class 자식클래스 extends 부모클래스 { }
    • 자손은 조상의 모든 멤버를 상속받는다. (생성자, 초기화블럭 제외)

 

  • 오버라이딩(덮어쓰기): 상속받은 조상의 메소드의 내용을 변경하는 것
    • 오버라이딩의 조건
      1. 선언부 변경불가(선언부는 일치해야함), 구현부(내용)만 변경가능
      2. 예외를 조상의 메소드보다 많이 선언 불가능

 

  • 다형성: 여러가지 형태를 가질 수 있다
    • 조상타입 참조변수로 자손타입객체를  참조
      • Tv t = new SmartTv();           //참조변수(t)와 인스턴스 타입이 불일치(Tv≠SmartTv)  →다형성

 

  • 참조변수가 조상타입(Tv)일때와 자손타입(SmartTv)일때의 차이?
    • 참조변수로 사용할수있는 멤버의 개수가 달라진다.     
    • ex)  SmarTv에는 5개 멤버(기능)가 있지만, Tv타입참조변수 t는 3개의 멤버만 사용 가능하다

 

  • 자손타입 참조변수로 조상타입의 객체를 가리킬수없다

 

 

 



 

 

Java 필수 기초 지식 -클래스, 생성자, 필드, 메소드 (tistory.com)

 

Java 필수 기초 지식 -클래스, 생성자, 필드, 메소드

생성자: 객체가 생성될때마다 호출되는 '인스턴스 초기화 메소드' 인스턴스 초기화란? 인스턴스변수를 초기화하거나 메소드를 호출해서 객체를 사용할 준비를 하는 것 클래스이름(매개변수 선

joly156.tistory.com

 

Java 필수 기초 지식 -접근제어자 (tistory.com)

 

Java 필수 기초 지식 -접근제어자

제어자= 접근제어자(public, protected, private) +그외 static, final, abstract 등등 클래스와 클래스의 멤버에 부가적인 의미 부여한다 하나의 대상에 여러 제어자 같이 사용 가능하나, 접근제어자는 1개만!

joly156.tistory.com


 

728x90
반응형

'Java Tutorial' 카테고리의 다른 글

[Java] 람다식  (0) 2023.03.14
[Java] Set컬렉션  (0) 2023.02.19
[Java] List컬렉션  (0) 2023.02.18
[Java] 컬렉션 프레임워크 (Collection Framework)  (0) 2023.02.16
[Java] 제네릭스 (Generics)  (0) 2023.02.16