[JAVA] 객체지향 - 매개변수
·
Back-End/Java
[작성일: 2023. 01. 25] 기본형 매개변수(8개)변수의 값을 읽기만 할 수 있음 (Read only)변경 불가public static void main(String[] args) { Data d = new Data(); d.x = 10; System.out.println("main() : x = " + d.x); change(d.x); System.out.println("After change(d.x)"); System.out.println("main() : x = " + d.x);}static void change(int x) { // 기본형 매개변수, 읽기만 가능 x = 1000; System.out.println("change() : x = " + x);}   Stud..
[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] 객체지향언어역사과학, 군사적 모의실험을 위해 컴퓨터를 이용한 가상세계를 구현하려는 노력으로부터 객체지향이론이 시작됨.1960년대 최초의 객체지향언어 Simula 탄생1980년대 절차방식의 프로그래밍의 한계를 객체지향방식으로 극복하려고 노력함. (C++, Smalltalk와 같은 보다 발전된 객체지향언어 탄생)1995년 말 Java 탄생. 객체지향언어가 프로그래밍 언어의 주류가 됨.   정의클래스(Class)설계도객체를 정의한 것. 객체를 생성하는 데 사용됨. 객체설계도로 만든 제품실제로 존재하는 것객체의 속성과 기능에 따라 용도가 다름. 클래스객체제품 설계도제품TV 설계도TV 클래스는 객체로 구현될 때 의미가 있음(=제품으로 만들어지지 않는 설계도는 의미가 없음.) ➡..