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);
}
}