Java 객체 지향 프로그래밍

갓김치·2020년 8월 13일
0

자바 객체지향

목록 보기
1/13

  • 출처 학우님...

클래스 = 멤버변수 + 메서드

  • 클래스 ------(인스턴스화)------> 인스턴스

변수

멤버변수 (전역변수)

클래스변수

  • 공통값 티비 크기같은거
  • 모든 객체가 공통된 메모리 공간 -> 서로 영향을 줄 수 있음
  • static 붙은거

인스턴스변수

  • 티비 색같은 티비 고유상태
  • 각각의 객체가 고유한 메모리 -> 다른 인스턴스가 영햐을 줄수없음

지역변수

  • 지역변수는 메소드끝나면 소멸, 클래스의 구성요소는 아님
  • 반복문안에서 int i 처럼
class A{
	
	method(){
    
    }
}

생성자 ★

기본생성자

  • 모든 클래스에 반드시 하나 이상의 생성자 들어가야함
  • 자바안에서 생성자없으면 기본생성자를 자동으로추가해서 컴파일
    • 해당 클래스의 생성자가 하나도 정의되지 않은 경우에만

매개변수가 있는 생성자

  • 클래스내에 이게 하나라도있으면 기본생성자를 하나라도싸줘여함 안그러면 컴파일오류
  • 이걸 여러개 만드는게 오버로딩

메소드

클래스메서드

인스턴스메서드

선언부 - public~

  • 메소드 이름 main
  • 매개변수 (파라미터), 메소드호출시 값을 넘겨줌
  • 반환타입 void: = 리턴값이없다 = 리턴값 생략가능
    • void가아니고 int 이런거면 리턴값 생략못함

구현부 A a = new A();

오버로딩

  • 반환타입은 영향주지않음
  • 메서드이름은 똑같아야함
  • 매개변수는 종류가 다르던가 개수가 달라야함 --> 후에 나오는 '다형성'개념과연관
    • == 매서드의 시그니처가 다르단 소리
  • 오버로드 다형성 구현하는 한가지유형

JVM

메서드 영역 Method Area

  • 프로그램실행 -> 어떤 클래스 실행 -> 그 클래스파일 로드 -> 그 파일에있는 데이터가 저장되는 곳 = 메서드영역
  • 클래스변수가 저장되는 곳

호출스택 Call Stack

  • 메서드사용한다=메서드호출한다 -> 이때 필요한 메모리공간을 호출스택에 생성
    반복문 사용시 중간 계산값이나 int i와 같은 지역변수를 저장해주는 곳이 호출스택
  • 호출스택에잇는건 메서드 실행이끝나면 다시 반환됨

힙 Heap

  • 클래스이용해서 객체만들때 클래스의 인스턴스 변수가 생성되는곳??

new A(); -> 클래스의 인스턴스?

기타

run as - run configuration - arguments 에 3170 이천오백 넣으면 "3170" "이천오백" 문자열이들어감
System.exit(0);

profile
갈 길이 멀다

0개의 댓글