ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 5주차 과제: 클래스 #5
    JAVA 기본 2021. 2. 22. 06:01
    728x90

    목표

    자바의 Class에 대해 학습하세요.

    학습할 것 (필수)

    • 클래스 정의하는 방법
    • 객체 만드는 방법 (new 키워드 이해하기)
    • 메소드 정의하는 방법
    • 생성자 정의하는 방법
    • this 키워드 이해하기

     

     

    메소드

    ㄴ다른말로 하면 함수

    유지보수가 쉽게 만들기 위해서 사용된다.

    정의 부분과 호출부분으로 나뉨

     

    메소드가 없다면 -> 코드 재활용성이 낮아짐 -> 코드량 증가 -> 유지보수가 어려워짐

     

    입력과 출력 

    어떤 값을 입력했을때 출력값이 달라진다면 재활용 측면에서 유리해진다.

     

    매개변수와 인자

    함수에 입력값을 주면 입력 값에 따라서 출려값이 다름

    ㄴ 정의 함수를 정의 할때 이름 옆에 매개변수를 만듬

    ㄴ 사용 출력할때 인자값을 줌

    + 인자를 2개 이상 받을 수도 있음

     

    메소드 출력

    메소드의 값을 메인으로 돌려줌(return)

    왜 돌려주는가?

    해당 함수를 출력으로 사용할 수도 있지만 메일로 사용하거나 다른용도로도 사용 하고 싶어서

    예)numbering(3,5)만 사용하면 출력만하는것

    하지만 값으로 돌려줄 경우

    그 값만 가지고 할 수 있는것이 무궁무진하다

     

     

    메소드 오버로딩(메소드 중복 정의)

    1. 함수의 이름은 같지만 구분하여 호출할 수 있는기능

    2. 동일한 기능의 메소드에 자료형만 다르게 할 경우 유효

    조건:

    1. 전달받은 인자값(매계변수)으로 구분

    갯수 순서 자료형으로 구분

    이름이 아니라 자료형으로 구분한다.

    이름이 아니라? 뭐로? 자료형~

     

     

    • 클래스 정의하는 방법

    함수들이 점점 많아지면 받아야할 인자값 혹은 변수가 많아진다 그러면 유지보수가 점점 어려워진다.

    그래서 데이터와 메소드를 한곳에 모으는 작업이 클래스이다.

     

    cal c1 = new cal()

    c1.setOper(10, 20)

    c1.sum()

    c1.put()

     

    클래스는 설계도이다. 객체는 변수+함수이다. 이 모든것은 하나의 프로그램이다.

    인스턴스는 제품이다. 클래스를 정의하고 그 설계도로 만들어진 제품이다.

     

    클래스 소유 변수

    1. 3.14같은 변할필요가 없거나

    2. 인스턴스를 생성할 필요가 없는 값을 클래스에 저장하고 싶은경우(base)

    3. 값의 변경 사항을 모든 인스턴스가 공유해야하는 경우
    +final=변하지 않는 상수

     

    인스턴스 변수

    인스턴스가 만들어지면서 생성되는 변수

     

    • 객체 만드는 방법 (new 키워드 이해하기)

    설계도 만들기 ->인스턴스 만들기 -> 이름.으로 사용하기

    cal c1 = new cal()

    cal이란 이름의 제품을 만든다.new cal()

    그 제품을 c1 이라는 변수에 넣는다.

     

     

    • this 키워드 이해하기

    클래스가 인스터스화 되었을때 의 인스턴스를 가리키는 것

     

    지역변수와 전역변수

    지역변수는 해당 함수 혹은 괄호 안에서만 살아있는 변수

    전역변수는 모든 곳에서 사용가능한 변수= static을 사용하여 만든다.

     

    this 인스턴스 생성 했을때 인스턴스 자기 자신을 말하며

    전역에 있는 변수와 지역의 변수의 이름이 같을때 지역변수가 우선순위가 높아서 전역변수를 나타내기 위해 사용한다,

     

    • 생성자 정의하는 방법

    초기화와 생성자

    함수를 사용할때 특정값을 꼭 넣어야지만 사용할 수있는 경우가 있다.

    하지만 그 함수를 처음 보았을때 알지 못하는 경우가 생길 수 있다.

    그래서 생성자를 만들어 강제적으로 특정값을 넣어야하는 상황을 만드는 것이다.

    클래스와 같은 이름의 함수를 생성한다는 의미의 -> 생성자

    시작과 동시에 한번 실행된다.

     

    인스터스란 클래스를 복제하는것

    FileWriter f1 = new FileWriter("data.txt")

    f1.write("hello")

    f1이라는 것에 담기는 복제본을 만들겠다.

    그리고 그 복제본을 data.txt에 넣겠다

    'JAVA 기본' 카테고리의 다른 글

    7주차 과제: 패키지 #7  (0) 2021.02.23
    6주차 과제: 상속 #6  (0) 2021.02.23
    4주차 과제: 제어문  (0) 2021.02.02
    3주차 과제: 연산자  (0) 2021.02.02
    JAVA학습 2주차 (2021.01.21)  (0) 2021.01.22

    댓글

Designed by Tistory.