[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개 입력 가능, 없을 수도 있음메서드 = 선언부 + 구현부반환타입(출력) 메서..
[JAVA] 객체지향 - 역사, 인스턴스, 클래스
·
Back-End/Java
[작성일: 2023. 01. 25] 객체지향언어역사과학, 군사적 모의실험을 위해 컴퓨터를 이용한 가상세계를 구현하려는 노력으로부터 객체지향이론이 시작됨.1960년대 최초의 객체지향언어 Simula 탄생1980년대 절차방식의 프로그래밍의 한계를 객체지향방식으로 극복하려고 노력함. (C++, Smalltalk와 같은 보다 발전된 객체지향언어 탄생)1995년 말 Java 탄생. 객체지향언어가 프로그래밍 언어의 주류가 됨.   정의클래스(Class)설계도객체를 정의한 것. 객체를 생성하는 데 사용됨. 객체설계도로 만든 제품실제로 존재하는 것객체의 속성과 기능에 따라 용도가 다름. 클래스객체제품 설계도제품TV 설계도TV 클래스는 객체로 구현될 때 의미가 있음(=제품으로 만들어지지 않는 설계도는 의미가 없음.) ➡..
[JAVA] 객체지향 - 변수
·
Back-End/Java
[작성일: 2023. 01. 25]  변수(Field)변수의 선언위치가 변수의 종류와 범위(Scope)를 결정함.클래스 안의 변수에는 크게 세 종류가 있음.클래스 변수와 인스턴스 변수를 Field라고 함.class variables { //1. 클래스 영역 int iv; // 인스턴스 변수(iv) static int cv; // 클래스 변수(static 변수, cv)void method() { // 2. 메서드 영역 int iv = 0; // 지역변수(lv) }} 변수의 종류선언위치생성 시기클래스 변수(class variable)클래스 영역클래스가 메모리에 올라갈 때(자동, 객체 생성 필요없음.)인스턴스 변수(instance..