일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- java
- SSL
- terms
- intellij 연동
- svn
- Class
- install
- VCS
- Branch
- Subversion
- syntax
- 특징
- Android
- 상속
- sourcetree
- gradle
- 문법
- 캡슐화
- error
- git
- Android Studio
- cherrypick
- 자바
- 생성자
- constructor
- Checkout
- IntelliJ IDEA Community
- TortoiseSVN
- commit
- IntelliJ
- Today
- Total
목록java (18)
Jay's Developer Note
상속(Inheritance) 상속(inheritance)은 아주 매력적이다. 우리가 흔히 알고 있는 부모-자식 간에 상속과 동일하게 생각할 수 있다. 부모는 자식에게 유전자를 물려줄 수 있고 재산도 물려줄 수 있고 자식은 물려받은 것들을 사용할 수 있다. 부모가 없이는 자식이 존재할 수 없으며 자식은 부모가 필히 한 개이어야 한다. 부모클래스는 상위클래스, 수퍼클래스라고도 불리고 자식클래스는 하위클래스, 서브클래스라고도 불린다. 부모와 자식은 1:N 관계가 되어야 한다. 사용방법 extends 를 사용하여 부모클래스를 상속받는다. [접근 제어자] class ClassName extends SuperClassName 부모클래스를 특정하지 않으면 Object 클래스를 상속받는다. [접근 제어자] class ..
캡슐화 & 은닉화 캡슐화와 은닉화는 단어처럼 캡슐 알약에 비교하면 이해하기 쉽다. 감기약의 성분을 환자(사용자)는 알 필요가 없다. 단지 알약을 물과 함께 삼키면 속에서 약효가 발휘된다. 이처럼 외부에서 내부의 내용을 알 수 없게 감싼 구조를 캡슐화했다라고 할 수 있다. 그렇다면 자연스레 은닉화도 같이 된 것이다. 예시 코드들을 보면서 한 번 더 이해 해보도록하자. 예시 1 class Car { // Bad public String model; public int maxSpeed; } 외부에서 '직접' 멤버 변수에 접근할 수 있기 때문에 캡슐화에 위배되는 코드다. 그렇다면 캡슐화를 적용하려면 어떻게 해야 할까? 멤버 변수들을 숨기고(은닉화) 접근할 수 있는 창구를 만들어주면 된다. class Car { ..
메소드(Method) 메소드(Method)는 클래스가 가지는 동적인 특성을 정의한다. 부르는 사람에 따라 메소드, 메서드 등 다양하게 불린다. 형식 [접근 제어자] [사용 방식] 리턴타입 메소드이름([매개 변수]...) { // 코드 } 생성자와는 다르게 리턴타입이 반드시 들어가야 한다. 접근 제어자 접근 제어자는 멤버 변수와 동일하게 적용된다. 사용 방식 사용방법 class Hyundai { public static void main(String[] args) { Car mCar = new Car(); mCar.model = "AVANTE"; mCar.print(); } } class Car { String model; public void print() { System.out.println("자동차 ..
멤버 변수(Member Variable) 멤버 변수는 클래스를 정의할 때 메소드 밖에 선언하는 변수로서 객체가 가지는 정적인 특성인 속성을 나타내는 데 사용한다. 형식 [접근 제어자] [사용 방식] 데이터형 변수명; 접근 제어자 : public, private, protected, default 사용 방식 : static, final 접근 제어자 접근 제어자를 통해 객체지향 언어의 특징 중 하나인 캡슐화와 정보 은닉을 설계할 수 있다. 사용방법 public class Hyundai { public static void main(String[] args) { Car mCar = new Car(); // public 멤버 변수이므로 어디서든 접근 가능 mCar.brand = "현대"; // default 멤..
생성자(Constructor) 생성자(Constructor)는 클래스로 객체를 생성할 때 객체의 초기화하는 특수한 메소드이다. 메소드와 비슷한 모습을 하고 있지만 조금 다른 생성자의 특징을 알아보겠다. 특징 - new 연산자와 같이 사용된다. - 이름에 걸맞게 객체 생성 시 사용된다. - 주로 객체 생성 시 객체의 멤버 변수를 초기화하는 역할을 한다. - 생성자의 네이밍은 클래스 이름과 동일해야만 한다. - return 타입이 없다. - 생성자가 없을 경우 JVM 이 자동으로 기본 생성자를 설정한다. - 사용자 정의 생성자가 있을 경우 기본 생성자는 없어진다.(기본 생성자를 함께 쓰려면 직접 기본 생성자를 추가해야 한다.) 형식 [접근 제어자] 생성자명(매개 변수) { // 코드 } 접근 제어자란 해당 ..
클래스(Class) Class 는 같은 모양을 찍어낼 수 있는 거푸집이라고 생각하면 된다. new 를 통해 Class 를 생성하게 되면 같은 속성, 같은 메소드를 가진 객체 변수를 무한대로 찍어낼 수 있다. 구조 // 클래스 선언부 class ClassName { // 클래스 멤버 // 생성자 public ClassName() { } // 멤버 변수 private String classVariable; // 메소드 public void setClassVariable(String classVariable) { this.classVariable = classVariable; } public String getClassVariable() { return this.classVariable; } // 내부 클래스..
Intellij 에서 JAVA 실행하기 그간 공부한 JAVA 코드를 Intellij 로 실행하는 법에 대해 다뤄보겠다. 신규 프로젝트 생성 New Project 로 새로운 프로젝트를 생성한다. SDK 가 없다면 JDK 를 하나 다운로드 해준다. 다운로드 링크 (작성일 기준으로 8u202 버전이 최신 버전이다.) 템플릿은 사용하지 않으므로 Next 적당한 소스코드 저장 위치와, 프로젝트 이름을 설정하고 Finish 를 누른다. JAVA 파일 생성 완료되고 나면 src 폴더에 우클릭을 하여 자바 파일을 생성한다. Main.java 파일 안에 위와 같이 main 메소드를 넣어준다. public class Main { public static void main(String[] args) { System.out...
분기문 프로그램의 흐름을 강제로 특정 위치로 이동시키는 문법이다. break 문, continue 문이 있다. break 문 switch 문을 빠져나오거나 반복문에서 가장 가까운 블록으로 빠져나올 때 사용한다. for (int i = 0; i = 5) break; System.out.println("for.."); } System.out.println("End of for"); break 문은 해당 break 를 쓴 반복문 블록 밖으로만 나가게 된다. 근데 만약 다중 for 문에서 break 를 쓴다면 어떻게 될까? for (int i = 0; i < 100; i++) { for (int j = 0; j..
반복문 반복문은 조건식이 TRUE 인 동안 { } 블록 안에 있는 코드를 반복하는 문법이다. 조건식이 적절하지 않다면 무한 루프에 빠질 수가 있다. 그러니 무한 루프에 빠지지 않게 조건식을 적절히 설정해줘야 한다. 요즘 IDE 는 무한 루프에 빠질 경우 사전에 경고를 준다. 반복문에는 for 문, while 문, do-while 문이 있다. for 문 형식은 다음과 같다. for([초기식]; [조건식]; [증감식]) { // 실행 코드 } 초기식, 조건식, 증감식은 생략이 가능하다. 생략할 경우 내부에 분기문이 없다면 무한 루프에 빠지게 된다. int count = 0; // 초기식; 조건식; 증감식 생략 가능 for (; ; ) { // 하지만 무한 루프.. 빠져나올 수가 없다.. System.out...
조건문 조건문에는 크게 if 문 과 switch-case 문 이 있다. if 문 if 문에서도 1갈래 분기, 2갈래 분기, n갈래 분기로 나뉜다. ( ) 괄호 안에는 논리형만 들어가야하며 최종 결과가 TRUE 냐 FALSE 냐에 따라 { } 블록 안에 코드들의 실행 여부를 결정짓는다. 1갈래 분기 int a = 20; int b = 10; if (a > b) { System.out.println("a 가 b 보다 크다"); } 2갈래 분기 int a = 20; int b = 10; if (a > b) { System.out.println("a 가 b 보다 크다"); } else { System.out.println("a 가 b 보다 작다"); } n갈래 분기 else if 로 여러 조건을 늘려갈 수 있다..