Class 7

[JAVA] class 클래스와 객체 : Static 변수 , 변수 유효 범위

Static 변수 ( 정적 변수 , 클래스 변수 ) 클래스에서 공통적으로 사용하는 변수 = ' static ' 변수로 선언 프로그램이 실행되어 메모리에 올라갔을 경우, 단 한번 공간이 할당 값을 모든 인스턴스가 공유 위치 : 클래스 내부에 선언 + 변수 선언시 자료형 앞에 위치 ex) static int num; 변수 유효 범위 1. 지역 변수 ( = 로컬 변수 ) 함수나 메서드의 내부에서 선언 스택 stack 메모리에 생성 함수가 호출되면서 생성 ~ 함수 종료시 소멸 하나의 함수에 선언한 지역 변수 = 타 함수에서 사용 불가 2. 멤버변수 ( = 인스턴스 변수 ) 클래스 내 선언 힙 heap메모리에 생성 인스턴스 생성 시 생성 ~ 가비지 컬렉터가 메모리 수거시 소멸 클래스의 어느 메서드에나 사용 가능 ..

JAVA/java 공부 2023.03.25

[JAVA] class 클래스와 객체 : final (수정이 불가능한 상수)

final = 클래스, 변수, 메서드 붙일 수 있음 사용 final 멤버 변수 : 상수 (수정 불가) final 멤버 메서드 : 오버라이딩(@Overring) 불가능 = 타인이 만든 메서드를 내 마음대로 바꿔 재사용x final 클래스 : 상속 불가능 + 부모 클래스 불가능 초기화 방법 우선 순위 : 기본값 모든 사람이 사용 private final static String place; => 모든 사람이 사용 + 상수 적용(변경 불가) 초기화 블럭 : { } 멤버변수 초기화 ..

JAVA/java 공부 2023.03.25

[JAVA] class 클래스와 객체 : this 예약어

this 예약어 생성된 인스턴스 자신을 가리키는 예약어 (클래스 코드에서 사용하는 this = 생성된 인스턴스 자신을 가리키는 역할) 다른 생성자 호출 this class Day{ int day; int month; int year; Day(int Day, int month, int year){ this.day = day; this.month = month; this.year = year; } Day(){ //this.day=4; //단, 호출하는 다른 생성자 이전에 코드를 넣지x this(6,3,2023); //this를 이용하여 다른 생성자 호출:Day(int Day, int month, int year)호출 } } 자신의 메모리를 가리키는 this public void print() { System..

JAVA/java 공부 2023.03.25

[JAVA] overriding 오버라이딩

오버라이딩 : 부모클래스에서 물려받은 메서드를 재정의하는 것 ⭐ 사용시 주의할점 1. 부모클래스의 메서드와 선언부가 완전히 일치해야함 2. 접근 제한자는 같거나 더 넓은 범위를 사용 (범위 축소x) //부모 클래스 class Animal { private String name; //이름 private String category; //종 //생성자 public Animal() { } public Animal(String name, String category) { this.name = name; this.category = category; } //info 메서드 public void info() { System.out.println("==============="); System.out.println(..

JAVA/java 공부 2023.03.25

[JAVA] class extend 클래스 상속

class 상속 : 기존의 클래스를 재사용, 새로운 클래스에서 기존 클래스의 속성과 메서드를 확장 사용 가능 ⭐ 상속시 주의사항 1. 생성자 = protect 상속클래스에서만 public처럼 사용가능 ( 외부 클래스에서 사용 불가 ) 2. 부모class에 접근하는 예약어 = super : 하위class -> 상위class에 접근시 사용 3. 상속은 단일 상속이 원칙! (다중 상속X) 4. 형태 : 부모class명 extends 자식class명 모든 클래스의 최고 조상은 Object class 모든 클래스는 Object가 제공하는 클래스를 사용할 수 있고, 오버라이딩 할 수 있음 //부모 클래스 class A { private int a, b, c; //자신만 사용 가능 protected int num; ..

JAVA/java 공부 2023.03.25

[JAVA] class 클래스 사용

객체 선언 및 초기화, 호출 1. 객체 선언 : 클래스명 객체명; Car c; 2. 객체 선언 + 초기화(생성) : 클래스명 객체명 = new 클래스명(); Car c = new Car(); 3. 호출 (메서드 사용) 같은 클래스 안 호출 : 메서드명(); 다른 클래스에서 호출 : 객체명. 메서드명(); / c.powerOn(); 기본 형태 //1. class 클래스명 {} class Car { //2. 멤버변수 선언 : 일반적으로 private사용 private String color; //null private int door; private boolean power; //false //3. 생성자 선언 (안넣는 경우 기본생성자 자동 추가) public Car() {} //기본생성자 public Ca..

JAVA/java 공부 2023.03.25

[JAVA] class 클래스 구성요소

클래스 : 객체 지향 프로그래밍에서 가장 기본적인 요소 중 하나 클래스 : 객체를 정의해놓은 설계도 = 객체를 생성하는데 사용 객체 : 의사나 행위가 미치는 대상 = 기능과 속성을 가지고 있음 클래스 구성요소 class 명은 대문자 시작 class = 예약어 : class를 생성하겠다 속성 = 멤버변수 / 기능 = 메서드 / 객체 초기화 = 생성자 1. 접근제한자 (접근제어자) : 멤버변수 선언 public : 누구나 제한없이 사용이 가능 protect : 나(현재class) + 같은 package + 자식 class 이용가능 default : 나(현재class) + 같은 package / 생략하는 경우 private : 나(현재class) : 타class에서 멤버변수,메서드 출력/변경 불가능 개인정보에..

JAVA/java 공부 2023.03.25