String 생성1String str1 = "abc";cs 1String str = new String("abc");cs: 문자열 "abc"는 문자열 리터럴로 절대 바뀌지 않는다. 만약 문자열을 자르거나 다른 문자열과 연결한다는 것은 "abc"가 바뀌는 것이 아니라 메모리를 새로 할당 받아 새로운 문자열 리터럴을 생성하는 것이다. 또 동일한 문자열 리터럴을 여러 String 객체에 할당한다면 동일한 리터럴을 같이 사용하는 것이다. 12String a = "abc";String b = "abc";cs 위의 코드의 a, b는 동일한 메모리에 있는 리터럴을 사용하는 것이며 a, b에서 문자열을 변경해도 "abc" 자체는 변경되지 않고 변경된 형태의 새로운 문자열 리터럴이 생성되는 것이기 때문에 a, b는 서로..
프로그램에서 사용할 데이터가 숫자형이라면 보통 byte, int, float 등의 기본타입을 사용한다. 그런데 이러한 기본 타입의 값을 객체로 변환해서 사용해야 하는 경우가 발생하는데, 자바는 이를 위해 래퍼(wrapper)클래스를 제공한다. (jdk 1.5 이후부터는 개발자가 래퍼 클래스를 이용하지 않더라도 컴파일러가 기본값을 래퍼 클래스로 변환해준다.) 기본 타입 래퍼 클래스 boolean Boolean byte Byte char Character short Short Int Integer long Long float Float double Double 기본 타입을 객체로 변환하는 것은 파라미터 타입이 객체형인 메서드에 기본 타입 값을 아규먼트로 전달하는 경우나 MIN_VALUE, MAX_VALUE와..
- 자바 API는 다양한 클래스들을 제공하는데, 그 중 java.lang 패키지에는 자바 프로그래밍에 기본적이고 다양한 클래스들이 다수 포함되어 있다. - API란? (위키백과 참고)API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)는 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다. Object class: 자바의 모든 클래스가 직접 또는 간접적으로 상속받는 최상위 클래스. 자바 클래스의 기본 특징을 결정짓고, 따라서 모든 클래스는 Object클래스를 상속받아 메서드를 사용할 수 있으며,..
학원수업을 듣다보면 하루에도 수십번 난관에 봉착하며 혼자 되내인다. 처음엔 고뇌에 빠져 멘탈이 살짝 흐릿해지다가, 컴퓨터 공부한지 이제 2개월인데 잘하는게 이상하지. 차분히 내가 해야할 공부를 해야지 한다.... 정신이...ㅋㅋ 암튼 오늘 collection부분을 수업하기전에 선생님께서 인터페이스와 관련되 문제를 몇개 내주셔서 풀고있던 중 여지껏 너무 헤깔렸던 개념에 대해 먼가 길을 찾고자 자바의 정석을 펼쳤다. 1. 접근제어자(access modifier) 음... 자바의 정석을 보면 객체지향 전까지 프로그래밍 언어에 공통적으로 가장 중요한 문법들을 배운다. 그땐 변수 앞에 왜 public이 붙는지... 조건문과 반복문, 그리고 여러가지 챕터를 배우기 바빠서 사실 궁굼해 하지 않았던 부분들이 객체지향파..
1. java 설치하기1) 오라클 홈페이지에 들어가서 developers -> Downloads로 들어간다.(설치 누르면 다운로드할수있는 oracle 홈페이지로 이동) 2) 카테고리중에 java를 누르면, 3) 아래의 그림처럼 java의 하위 카테고리 칸으로 이동된다. 4) 여기서 jdk download를 누른다. 5) 아래에서 accept를 체크한뒤, 자신의 운영체제에 맞는 java를 다운받는다. 2. java 환경변수 설정하기1) 내 컴퓨터에서 오른쪽 클릭한 뒤 속성으로 들어가서 아래의 '고급 시스템 설정'으로 들어간다. 2) 여기서 환경변수창으로 들어간다. 3) 먼저 아래의 '시스템 변수(s)'에서 '새로만들기(w)'를 누르고 아래의 값을 입력한다.- 변수 이름은 아래와 동일하게, 그리고 변수 값은..
- 먼저 get과 set의 개념을 이해해야게 될 것같다. 좋은 예제가 많기 때문에 이해하는데 좀 더 수월했다. - 인터페이스에 있는 추상메서드의 구현 - 소수구하는 알고리즘(?) 1. SumIF 인터페이스 생성- 공통된 부분이 합계를 구하는 것이기 때문에, int 타입의 매개변수를 받는건 보여주지만 몸통이 구현되지 않은 추상메서드만을 가지고 있다. package intheclass.models; public interface SumIF { // 추상메서드 하나를 멤버로 가지고 있는 인터페이스 // 기본형 int타입의 변수 n을 매개변수로 받는 추상메서드 int sum(int n); } 2. OddNum 클래스 생성(Odd = 홀수)- SumIF를 상속받기 때문에 인터페이스의 상속키워드인 implement..
- 출력 결과물 EX1,2,3,4,5,6,7,8,91,2,3,4,5,6,7,8,9,10,11,12,13,...,n 위와 같이 출력하려고 한다. 너무 간단한 예제이지만 결과물을 만들기 위해 배열을 생성하고, 1씩 증가하는 값으로 배열의 0번지부터 채워나간다. 그리고 마지막 숫자를 제외하곤 숫자와 숫자 사이에 위와같이 ' , '(쉼표)가 존재한다. - 작성한 소스package exercise; import java.util.Scanner; public class homework1 { public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); System.out.print("1부터 n까지 출력합니다. n = "); //입력받..
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.