본문 바로가기
Java

[Java] 객체지향 언어

by ahj 2021. 9. 8.

// Class는 현실의 객체를 프로그램에서 사용할 수 있도록 해 준 "template"이면서 Java 운영 프로그램을 구성하는 가장 "기본적인 요소"

// Instance는 Class로부터 생성된 "메모리 상의 객체"

 

//상속

상속은 코드를 간결하게 하여 코드의 재사용성을 높이는 객체지향의 핵심 개념!

상위 계층으로 갈수록 (시내버스 -> 버스 -> 자동차) 일반화, 보편화

하위 계층으로 갈수록 (자동차 -> 버스 -> 시내버스) 특수화, 개별화

문법적으로 강제되는 것이 아니라 논리적으로 판단되어야 한다.

 

//다형성(Polymorphism)

one interface, multiple implementation

하나의 인터페이스를 이용해 서로 다른 구현을 제공함

ex) 서로 다르게 조작되는 TV를 하나의 리모컨(인터페이스)로 조작

메서드 오버로딩(Method Overloading), 메서드 오버라이딩(Method Overriding) -> 중요 개념 나중에 추가 설명

 

//추상화(Abstraction)

공통된 특성들을 모아 일반화 하는 것 ==> 클래스를 정의하는데 중요 역할

 

//캡슐화(Encapsulation)

'변수'와 변수를 처리하는 '메서드'를 하나로 묶어서 각각이 독립적이지 않고 동시에 동작하도록 한다.

캡슐화할 때 공개 비공개 나누어 정보 은닉이 가능해진다.

 

//메세지(Message)

객체 간에 서로 통신하는 방법

 

//

전역(Global) 변수(멤버 변수) : "클래스" 선언부 밑에서 선언

vs 지역(local) 변수 : "메서드" 선언부 밑에서 선언

 

//getter setter

정보 은닉에서 private 변수에 저장된 값을 리턴할 때 getter, 저장할 때 setter

 

 

// 기본형 변수 vs 참조형 변수

 

// 가변적 매개변수는 매서드 선언부 매개변수 리스트 마지막 위치에 딱 한번 사용 가능

 

 

// 인스턴스 변수 vs 클래스 변수(static ~)

'Java' 카테고리의 다른 글

[JAVA] 인터페이스  (0) 2021.10.07
[JAVA] 추상 클래스, 객체 형변환  (0) 2021.10.07
[JAVA] 매개변수 - 기본형|값복사, 참조형|주소복사  (0) 2021.10.05
[Java] this, super  (0) 2021.10.05
[JAVA] 생활코딩 강의 시작  (0) 2021.09.25

댓글