목록Java/자바 기본 문법 (68)
가자미의 개발이야기
자바는 보통 .java 파일에 있는 클래스를 컴파일하면서 각 .class로 바꾸어 자바 파일이 있는 곳에 저장을 한다. 자바를 실행할 때도 보통 자바 파일이 있는 곳(현재 디렉토리)에서 클래스를 찾는다. 하지만 다른 곳에 있는 클래스를 활용하고 싶을 땐 클래스 패스를 설정해서 활용한다. 명령 크롬프트로 클래스 패스를 설정하는 법: c:\현재디렉토리>set classpath=. ;C:\원하는 위치;원하는위치;원하는위치 여기서 점의 역할은 여전히 현재디렉토리에서도 클래스파일을 찾겠다는 의미이고, 세미콜론을 계속 추가함을 통해서 클래스 패스를 더 추가할 수 있다. 여기서 절대경로와 상대경로에 대한 이해를 추가해주면 좋은데 절대 경로는 루트 디렉토리부터 작성한 것이고 상대 경로는 현재 디렉토리를 기준으로 지정한..
a. 자바의 문자열 String str1 = "hello"; String str2 = new String("hello"); 이런 식으로 만들어진다. 이때 자바는 문자열도 인스턴스로 인식한다. 즉 String이라는 클래스에 "hello"라는 인스턴스를 str1이라는 참조변수에 저장하는 것이다. 클래스 등 이름을 지을 때 규칙 클래스 첫 문자는 대문자. 클래스 이름에 띄어쓰기가 필요한 경우 이어지는 문자를 대문자로 대신(Camel Case모델) 메소드 및 변수는 첫 문자는 소문자이고 띄어쓰기가 필요한 경우 이어지는 문자를 대문자로 대신 상수(final)의 이름은 모두 대문자로, 띄어쓰기는 언더바_로 대신한다. b. 생성자 클래스를 활용해 인스턴스를 만들고 초기화를 행할 때 편의를 위해 생성자를 활용한다. 생..
a. 메소드 메소드는 쉽게 말해서 C언어의 함수와 비슷하다. c에서 재귀함수를 활용하듯이 자바에서도 메소드 재귀 호출이 가능하다. n!(팩토리얼)을 재귀호출로 작성할 수 있다. b. return의 쓰임 return 에는 두가지 쓰임이 있다. 메소드의 반환형에 따라 달라지는데, void의 경우에는 return;으로 프로그램의 종료를 의미하고, 다른 반환형을 갖는 메소드는 return ~~;으로 해당 값을 반환하는 역할을 한다. c. 클래스와 인스턴스 클래스는 데이터와 기능을 담고 있는 틀 이라고 정의 할 수 있다. 쉽게 클래스를 붕어빵틀이라고 생각하고 인스턴스는 붕어빵이라고 이해하자. 인스턴스 변수=클래스 내에 선언된 변수이고 인스턴스 메소드=클래스 내에 정의된 메소드이다. d. 참조변수 참조변수는 클래스..
a. 조건부 연산자 특정 조건문 ? 참일 때 반환값 : 거짓일 때 반환값 result = testCondition ? value1 : value2로 나타낼 수 있다 testCondition의 참이면 value1이고 거짓이면 value2를 반환한다. b. switch switch(변수){ case 1: ~~~~ break; case 2: ~~~~ break; default: ~~~~ break; } 어떤 변수의 값이 1인지 2인지에 따라 명령문이 달라진다. default는 1,2 모두 아닐 경우 실행되는 명령문이다. c. do while 또 WHILE 문과 DO WHILE 문이 헷갈리는 경우가 있는데 간단히 생각하면 WHILE 문을 거꾸로 하면 DO WHILE 문이 된다고 생각하면 편하다 while(조건문..
a. 나눗셈 자바의 나눗셈에는 정수형과 실수형에 따라 다르다 7/3=2 이지만 7.0/3.0=2.333이 된다. 이를 막기 위해서는 (INT)를 해주자 b. 복합 대입연산자의 자동 형 변환 INT NUM, LONG I를 선언하고 NUM+=I를 하면 NUM은 LONG형 변수가 된다. 이를 방지하기 위해 마지막에 (INT)NUM을 해주는게 좋다. c. 관계 연산자의 자동 형 변환 7==7.0 일 경우 자바는 참을 반환한다. 원래 두 수는 컴퓨터 상에서 서로 다른 수를 갖지만(부동소수점) 자바는 자동 형변환으로 7을 7.0으로 바꿔서 비교 하기 때문에 참을 반환한다. d. 논리 연산자 SCE 규칙이라는 것인데 &&연산자 실행시 전자가 거짓일 경우 후자를 실행하지 않고 ||를 실행할 경우 전자가 참일 경우 후자..
a. final '상수'란 딱 한번 할당 가능하며 변경 불가능한 값 혹은 final 선언이 되어있는 변수 상수 변수는 모두 대문자로 지어주고 띄어쓰기 대신 언더바(_)를 사용. ex) final int MAX_SIZE=100; 이런식으로. b. 리터럴 '리터럴'은 자료형 기반으로 표현된 상수를 뜻한다. ex) int num=5+7;(정수형 리터럴) double num2=4.4+2.2;(실수형 리터럴) 자바에선 정수를 무조건 int형으로 인식한다. 만약 long형 정수를 입력하고 싶으면 정수 뒤에 l(L)을 붙여야 한다. 실수형 리터럴은 double의 경우 d(D), long인 경우 l(L). 이진수로 수를 입력하고 싶은 경우 앞에 OB(ob)를 붙이면 된다. 숫자 사이에 언더바를 삽입하는 것은 문제가 되..
자바의 자료형은 다음과 같다. 해당 자료형의 표현 가능 범위를 벗어난 값을 할당하면 오버플로우나 언더플로우가 발생할 수 있다. 실수의 표현은 부동소수점 방식을 활용해서 정확한 값을 사용하지 않고 근사값을 사용하게 된다. float과 double 선택의 기준은 얼마나 정밀한 값을 필요로 하는가이다. 자바에서 변수 이름을 정할 때 지켜야 할 규칙이 몇 가지 있다. 1. 변수의 이름은 숫자로 시작할 수 없다. 2. $와 _이외의 특수문자는 사용할 수 없다. 3. 키워드는 변수의 이름으로 사용할 수 없다.(println등..) 4. 자바는 대소문자를 구분한다.
비전공자로써 혼자서 공부를 해야 될 때 어떤 책을 보고 어떤 사이트에서 공부해야 될 지 모르는 경우가 많았다. 그래서 나는 열혈 시리즈로 유명한 윤성우님의 카페를 추천한다. https://cafe.naver.com/cstudyjava 윤성우의 프로그래밍 스터디그룹 [C/... : 네이버 카페 윤성우의 스터디 공간입니다. C와 JAVA를 공부하시는 분들은 모두 들어오세요. ^^ cafe.naver.com 이곳에서 가입하면 열혈 자바 PPT자료와 영상자료를 관람할 수 있다!