[JAVA] 객체지향 - 호출 스택
·
Back-End/Java
[작성일: 2023. 01. 25]  호출 스택(Call Stack)스택(stack): 밑이 막힌 상자. 위에 차곡차곡 쌓임메서드 수행에 필요한 메모리가 제공되는 공간메서드가 호출되면 호출스택에 메모리 할당, 종료되면 해제 public static void main(String[] args) { System.out.println("Hello!"); }}    예제 분석을 단계별로 그려가면서 공부하면 프로그램을 실행하지 않고도 이해할 수 있음.코드를 보면서 단계별로 스택에 어떤 변화가 일어나는지 그려보면서 공부하기          🐣 해당 게시글은 자바의 정석(남궁성 님) 영상으로 함께 공부하며 요약/정리한 글입니다.🐣 입문 개발자가 작성한 글이므로 틀린 내용이나 오타가 있을 수 있습니다.
[JAVA] 객체지향 - 객체 생성, 사용, 배열
·
Back-End/Java
[작성일: 2023. 01. 25] 객체의 생성리모컨과 객체타입이 일치해야 함.객체를 사용하려면 반드시 리모컨이 필요함.클래스명 변수명;변수명 = new 클래스명();Tv t; // Tv클래스 타입의 참조변수 t 선언t = new Tv(); // Tv인스턴스 생성 후 생성된 Tv인스턴스의 주소를 t에 저장     객체의 사용Tv t;t = new Tv(); // 객체 생성t.channel = 7; // Tv인스턴스의 멤버변수 channel의 값을 7로 한다 , 변수 사용t.channelDown(); // Tv인스턴스의 '메서드 호출', 메서드 사용// 객체 사용System.out.println("현재 채널은" + t.channel + "입니다."); // 현재 채널은 6입니다.class TV { // t..
[JAVA] 변수 초기화
·
Back-End/Java
[작성일: 2023. 01. 26] 목차 변수의 초기화지역변수(lv)는 수동초기화 해야 함(사용 전 꼭!!!!)메서드는 호출 스택에 계속 쌓였다가 지워졌다가 하기 때문에 생명주기가 굉장히 짧음. 매번 0으로 초기화하면 성능이 떨어지기 때문에 새로운 값으로 덮어써야 함. (수동 초기화)멤버변수(iv, cv)는 자동 초기화됨.타입마다 다르지만 근본적으로는 0으로 초기화됨.class InitTest { int x; // 인스턴스 변수, 자동 초기화 int y = x; // 인스턴스 변수(iv) void method1() { int i; // 지역변수(lv) int j = i; // 에러. 지역변수를 초기화하지 않음.     멤버변수(iv, cv)의 초기화클래스 변수..
[JAVA] 객체지향 - 오버로딩
·
Back-End/Java
[작성일: 2023. 01. 25]  오버로딩(Overloading)한 클래스 안에 같은 이름의 메서드 여러 개 정의하는 것메서드 : 메서드 이름 = n : 1ex) println(매개변수)void println()void println(boolean x)void println(char x)void println(char[] x)void println(double x)void println(float x)void println(int x)void println(long x)void println(Object x)void println(String x)     오버로딩이 성립하기 위한 조건메서드 이름이 같아야 함.매개변수의 개수 또는 타입이 달라야 함.반환 타입은 영향없음.ex 1)int add(int a..
[JAVA] 객체지향 - this
·
Back-End/Java
[작성일: 2023. 01. 25]  생성자 this()같은 클래스 생성자에서 다른 생성자를 호출할 때 사용클래스 이름 대신 this() 사용다른 생성자 호출 시 첫 줄에서만 사용 가능첫 줄이 아닐 경우 에러.코드 중복을 제거하기 위해 생성자들끼리 서로 호출함.class Car2 { String color; String gearType; int door; Car2() { this("white", "auto", 4); } // Car2(String color, String gearType, int door)를 호출 Car(String color) { this(color, "auto", 4); } // Car2(String color, String gearType, ..
[JAVA] 객체지향 - 메서드
·
Back-End/Java
[작성일: 2023. 01. 25] 메서드(Method)public static void main(String[] args){}접근제한자 [static] 리턴타입 메서드명 (매개변수...)작업을 수행하기 위한 명령문의 집합으로 어떤 값을 입력받아서 처리하고 그 결과를 돌려줌. (입력받는 값이 없을 수도 있고 결과를 돌려주지 않을 수도 있음.){문장들}을 작업단위로 묶어서 이름을 붙인 것을 메서드라고 함.값(입력)을 받아서 처리하고 결과를 반환(출력)- 반환타입: 0~1개, 없을 수도 있고 많아야 1개.- 2개 이사일 경우 배열 혹은 객체로 묶어서 반환- 반환타입이 없을 경우 void 사용하면 됨- 메서드 이름- 매개변수: 0~n개 입력 가능, 없을 수도 있음메서드 = 선언부 + 구현부반환타입(출력) 메서..