/ LECTURE

Java - Static / Constructor

이 페이지는 다음에 대한 공부 기록입니다

JAVA(자바), Python(파이썬) 기반의

AI 활용 응용 소프트웨어 개발자 양성 과정

2021.11.10. ~ 2022.05.18.

찾으시는 정보가 있으시다면
주제별reference를 이용하시거나
우측 상단에 있는 검색기능을 이용해주세요

15일차 수업

========복습========

메소드

구조

  • 반환자료형 메소드명 (매개변수) { 코드블럭 }

    • 반환자료형

      • 우리가 알고 있는 자료형 모두 가능

      • void

        • 반환자료형이 없다(return이 없거나, return; 가능)

======== 끝 ========

15일차 수업

스코프

  • 변수의 범위, {중괄호} 기준으로 작성

변수

  • 작성 위치에 따라 2가지로 나뉨

클래스가 기준 시점

전역변수

  • 클래스 밑에 바로 선언되는 변수(필드)

  • 모든 { } 보다 먼저 선언, 모든 메소드에 영향을 미침

지역변수

  • 메소드 내부에 작성되어 해당 메소드에만 영향을 주는 변수

전역변수와 지역변수를 나누는 이유

  • 코드의 반복성 o 변수의 재활용 )

전역변수와 지역변수는 중복이 가능하지만, 지역변수끼리는 중복이 불가능

전역변수와 지역변수가 중복이 될 때, this로 전역변수 지목 가능

static

우리가 클래스를 사용하려면 인스턴스화 시켰어야했음

  • 정적변수, 고정값, 프로그램이 시작될 때 즉시 생성되는 변수 또는 메소드

  • static 이용시 인스턴스화 과정 거치지않고 호출 가능

  • 인스턴스에 상관없이 값을 클래스에서 바로 사용하고 싶을 때 사용

  • 인스턴스에 따라서 값이 변하지 않아야 하는 경우 값의 변경사항을 모든 인스턴스가 공유해야할 때

    class Isstatic{
        static int a = 1;
        static void a(){ code block };
    }

    public class Abc{
        public static void main(String[] args){
            System.out.println(Isstatic.a);
            Isstatic.a();
    }

Constructor

메소드 형태로 선언되며, 클래스 명이 메소드 명

반환값 자체가 없는 메소드, void나 return을 작성하지 않음

중복으로 작성가능, 인스턴스마다 초기값을 다르게 할 수 있음

생성자는 생략이 가능

  • 생략했을 때는 인자가 없는 모양으로 생략되어있음

생략된 생성자가 아닌 다른 조건의 생성자를 만들면 기존 생략된 생성자는 더 이상 기능을 하지 않음

    class Cat{
        String name;
        int age;
        public Cat(String name, int age){
            this.name = name;
            this.age = age;
        }
        public Cat(){}

    public class constructor{
        public static void(String[] args){
            Cat c1 = new Cat(나비, 회색, 3);
        }
    }