홈브류 (homebrew) 란 맥에서 개발 프로그램의 설치와 관리를 용이하게 도와주는 프로그램이다. 즉, 맥 사용자는 설치해두면 유용한 프로그램이다. 홈브류 설치 방법 1. 홈브류 홈페이지에 있는 코드를 터미널에 붙여넣는다. Homebrew The Missing Package Manager for macOS (or Linux). brew.sh /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 이 코드를 복사해 붙여넣고 return (enter) 키를 누른다. 2. Press RETURN to continue ... 문장이 나오면 Return 을 눌러준다. 3. Password 를 입력..
static 클래스를 만들고 객체를 생성하면 객체마다 객체변수를 저장하기 위한 메모리가 별도로 할당된다. ➡️ 데이터 메모리의 정의 하지만 객체의 값이 변하지 않는 경우라면 static 변수를 이용해 이를 고정시킨다. static 멤버는 static 메모리에 저장된다. 즉, 모든 객체가 하나의 static 메모리를 공용으로 사용한다. 이는 프로그램 시작 시 만들어지며, 0으로 자동 초기화된다. (같은 메모리 안에 객체 여러개 생성) static 은 클래스 소속이기 때문에 "클래스.메서드()"로 호출한다. class StaticTest { static int test; } Main { test.a = 10; } 객체 생성없이 사용이 가능하다. static 변수를 사용하는 이유는, 객체의 값이 변하지 않는 ..
메소드 오버로딩 - 동일한 이름의 메소드를 여러개 만드는 것. 파라메터의 개수나 타입을 다르게 해줘야 한다. 즉, 서로 다른 파라메터와 타입을 갖는 여러 메소드를 같은 이름을 정의하는 것이다. 리턴(반환) 타입과는 상관없다. 메소드의 파라메터와 타입 둘 중 하나라도 다른 경우에는 오버로딩이 성립하지 않는다. int add(int a, int b) { System.out.println("add int"); return a + b; } String add(String a, String b) { System.out.println("add String"); return a + b; } float add(float a, float b) { System.out.println("add float"); return a..
this 참조 변수 this 참조 변수는 같은 이름을 사용할 때 자기 자신을 구분하기 위해 사용하는 변수이다. 즉, 멤버변수와 지역변수를 구별하기 위해 멤버변수에 this 를 붙여 구별하는 것이다. this.name : 멤버변수 class Member{ String name; int num; Member (String name, int num){ this.name = name; this.num = num; }
1. 생성자 - 객체 (멤버변수) 초기화 메서드 클래스를 이용해 객체를 생성하면 해당 객체는 메모리에 즉시 생성되지만, 이렇게 생성된 객체는 모든 인스턴스 변수가 초기화되지 않은 상태이다. 자바에서 변수를 원하는 값으로 초기화하기 위해 생성자 (constructor) 메소드를 사용한다. 생성자는 값을 넣기 전 객체에 기본으로 값을 설정하고 싶을 때 사용한다. - 이름은 클래스와 동일하고 반환타입이 없다. - 생성자는 작성하지 않아도 컴파일러가 자동으로 생성해주지만, 생성자를 하나라도 작성하면 자동 생성이 안된다. - 생성자는 마음대로 호출할 수 없고 객체 생성시에만 호출이 가능하다. - 하나의 클래스가 여러 생성자를 가질 수 있다. 생성자 선언 방법 1. 매개변수(파라메터)가 없는 생성자 선언 클래스 이..
⬇️ 객체 지향 프로그래밍 1편 보러가기 [Java] 객체 지향 프로그래밍 1, 객체 이 포스팅은 데스크탑에 최적화되어 있어, 데스크탑으로 보는 것을 권장합니다. 객체 지향 프로그래밍 객체를 중심으로 프로그래밍 하는 것이다. ↔️ 반대는 순차적 프로그래밍이다. 순차적 skylarcoding.tistory.com 클래스 멤버변수 + 메서드 (기능) 한 객체의 정보를 묶어서 한 변수에 담도록 타입을 정의한다. class 클래스명 { 멤버변수 정의; } class Test { int a; String b; } - 타입명 : Test - Test 타입의 변수는 Int 값 1개, String 값 1개 묶어서 저장한다. int a; String b; void setData( int x, String y){ a = ..
이 포스팅은 데스크탑에 최적화되어 있어, 데스크탑으로 보는 것을 권장합니다. 객체 지향 프로그래밍 객체를 중심으로 프로그래밍 하는 것이다. ↔️ 반대는 순차적 프로그래밍이다. 순차적 프로그래밍은 시간 흐름의 순서대로 프로그래밍 하는 것이다. 객체 객체는 프로그램으로 모델링 되는 주체이다. 사물, 사람, 개념 등이 된다. 객체 중심 프로그래밍은 객체를 도출하고 객체 관계를 명시하는 형태로 프로그래밍한다. 객체 도출 객체 도출에서는 어떤 클래스가 필요하고 그 클래스의 구성요소가 무엇이냐를 결정한다. - 요구분석 요구 분석은 기능 도출을 목표로 한다. - 유즈케이스 시스템을 사용할 사람이나 시스템인 액터를 추출한다. 각 액터에게 제공할 기능을 정의한다. - 요구 명세서 작성 기능 하나당 요구 명세서를 작성하여..
함수 함수는 자주 사용되는 코드를 분리해서 필요할 때마다 호출해 사용하는 방법이다. 자바에서는 메서드만 존재한다. 코드를 모듈화할때 사용한다. 입력 ----- -------------------> 기능 출력 --------------> 파라메터 함수가 밖에서 필요한 값을 받아오는 함수 return 문을 통해서 값 반환, return res; int add(inta, int b){ int c = a +b; return c; } return; //이 값을 반환하고 끝내라, 반환은 하나만 가능하다. 함수 정의 함수명 (파라메터) { 함수에서 실행할 문장들; } 반환타입 : 메서드가 반환하는 값의 타입 ex) 메서드가 int 반환 시, Int. 'a'를 반환하면 char 타입. "asdf"를 반환하면 Strin..
⬇️ 배열, 배열 선언, 배열 복사 등은 아래 링크로 [Java] 배열의 모든 것. 배열선언, 배열 복사 int a; a = 10; sysout(a); //10 a = 20; sysout(a); //20 이렇게 위와 같은 방식은 변수 1개당 값을 1개밖에 저장하지 못하기 때문에 가장 나중에 선언한 값으로 변경된다. 그럼 이 10 과 20 모두 변수 a 에 담는 skylarcoding.tistory.com 2차원 배열 2차원 배열은 배열의 배열이다. 요소를 배열로 갖는 배열이다. 단순한 1차원 배열보다 더 많은 정보를 저장하고 다룰 수 있다. int [][] a = new int [2][3] 해석 : int 변수 a는 방이 2개, 각 방이 int [3]을 요소로 갖는다. 요소를 두 개 가지니까 대괄호가 2..
int a; a = 10; sysout(a); //10 a = 20; sysout(a); //20 이렇게 위와 같은 방식은 변수 1개당 값을 1개밖에 저장하지 못하기 때문에 가장 나중에 선언한 값으로 변경된다. 그럼 이 10 과 20 모두 변수 a 에 담는 방법은 없을까? 이 방법이 바로 자바의 배열이다. 배열 배열은 집합 데이터의 처리를 수월하게 해준다. 하나의 배열에 여러개의 값을 저장할 수 있지만, 이들의 타입이 동일해야 한다. 배열의 크기는 고정되어 있고, 배열의 각 방은 자동으로 초기화가 된다. 배열 선언 int [] a; char [] b; (타입명) [] (변수이름); 배열 생성문 a = new int [5]; //int 한 개를 담을 수 있는 방을 5개 만들어라 b = new char [3..