본문 바로가기
JAVA

JAVA 개념 정리 2탄

by Life-Journey 2020. 6. 5.
반응형

 

메서드(함수)

일반적으로 메서드란 자바 프로그램의 구성 요소 클래스 기능이라고 말합니다.

정해진 특정한 기능을 수행하는 모듈이며,

메서드가 필요한 이유는 프로그램 기능을 만들기 위해서라고 말할 수 있습니다.

타입,함수명,매개변수로 구성되어 있습니다.

매개변수 : 메서드가 내부적으로 처리하기 위한 어떠한 값들이 들어가는 공간

반환형 : 메서드가 종료될 때 결과로써 어떠한 값을 반환

메서드는 어떠한 문제를 잘게 쪼개서 쉽게 해결할 수가 있으며 메인 메서드는 프로그램의 시작점이라 말할 수 있습니다.

 

매개변수

매개변수는 메서드의 입력값을 저장하는 변수입니다.

예를들어 int sum(int a, int b)가 있으면 (int a, int b)는 실제 값이 존재하지 않고 형태를 나타내 줄 뿐 입니다.

이때를 매개변수라고 부릅니다.

매개 변수는 자신의 메서드 안에서만 사용이 가능하다는 특징을 가지고 있습니다.

 

리턴값

리턴값은 메서드 종료 후, 반환되는 값입니다.

리턴 값이 있는 메서드 : void가 아닌 메서드

리턴 값이 없는 메서드 : void 타입 메서드

값이 반환되는 위치 : 메서드를 호출한 위치

형태 : return

 

객체 지향 프로그래밍

객체들을 조합하여 전체 프로그램을 만듭니다.

클래스 : 객체의 설계도

객체 : 클래스를 통해 만들어진 프로그램의 구성요소

Fields : 정보 / 상태  (ex : 교수(이름,소속))

Method : 기능 / 동작 (ex: 교수(강의하기, 학점주기))

 

객체 생성 및 사용

클래스를 토대로 객체를 생성합니다.

Ex) student b1 = new student();

학생 객체를 만듭니다.

B1이라는 변수에 학생 객체를 대입합니다.

객체를 통제하기위해 b1이라는 변수가 필요합니다.

B1.name = “하하하”; / 객체 값 초기화 작업

B1.good(); / 객체에게 메서드를 수행

Student b2 = new student(“하하”,100); / 객체 생성과 동시에 초기화 (생성자를 통한 초기화)

 

 

 

접근 제한자와 getter & setter

접근제한자는 공개 여부를 결정하는 키워드이며, 디자인 설계원칙(캡슐화,정보은닉)과 관련이 있습니다.

접근 제한자 종류로는

Private : 비공개 (내부클래스)

Default : 패키지 공개

Protected : 상속공개

Public : 완전공개

Getter method : 비공개(private) 필드를 반환하는 메서드

-       Public 제한자를 넣은 메서드 생성 (public int getBalance(){ return balance;}

Setter method : 비공개(private) 필드를 변경하는 메서드

-       Public void setBalance(int balance(변경하기 위한 입력값))

 

상속

상속은 자식 클래스가 부모의 속성을 물려 받는 것입니다.

클래스 확정에 용이하며 코드 재사용성이 증가하는 효과를 얻을 수 있습니다.

Class 자식 extends 부모

Super(생성자 변수) : 부모 클래스의 생성자를 호출

 

메서드 오버라이딩

메서드 오버라이딩은 부모 메서드를 자식 클래스에서 새롭게 재 정의하는 것입니다.

Portected : 상속관계시 공개 (자식들은 공개)

 

인터페이스

인터페이스는 역할을 정의하는 하나의 타입으로 prototype(내용이 없는) 메서드를 갖으며,

prototype메서드를 오버라이드합니다.

인터페이스의 장점으로는 아래와 같습니다.

다형성 : 한 객체를 다양하게 해석할 수 있다.

그룹화 : 여러 객체를 한 타입으로 관리할 수 있다.

유연성 : 유연한 코드 작성이 가능하다.

 

 

 

 

 

반응형

'JAVA' 카테고리의 다른 글

쿠키와 세션의 차이!  (0) 2020.06.19
JSTL 날짜 포맷 변경 방법  (0) 2020.06.15
JAVA 개념 정리 1탄  (0) 2020.06.04
[JAVA] 객체지향프로그래밍 OOP (Object Oriented Programming)  (0) 2020.04.05
[JAVA] Method  (0) 2020.04.03

댓글