봉봉의 개인 블로그

2017-05-26-P 본문

학원에서 배운것들/TEA - P

2017-05-26-P

봉봉이네 2017. 5. 26. 15:54

상속(Inheritance)

상속 = 슈퍼클래스가 가진걸 서브클래스가 가진다.

예를들어 

Calculation.java 라는 java 파일이 있다고 하자.

그리고 나서

My_Calculation.java 라는 java 파일을 만든다.

이때 2번줄과 같이 extends 를 이용해 확장시켜 주게되면

Calculation.java 파일안의 내용을 재활용해서 사용할수 있게 되는것이다.


또한 생성자 메서드를 통해 My_Calculation.java 객체를 만들때 생성자 안에는 슈퍼클래스 생성자를 가지고 있어야 한다 즉,

public My_Calculation(){

super.Calculation

}이런색으로 되어 있어야한다는것이다.


wrapper classes 들은 기본타입인데 참조타입처럼 사용하고 싶을때 사용한다.

기본타입을 여러개를 배열의 형태로 받고싶을때 사용해도 된다.

ArrayList 로는 기본타입의 값을 배열의 형태로 받아서 넘길수 없기 때문에

기본타입을 wrapper 를 통해서 상속받고 DTO 처럼 사용해 주소값을 ArrayList에 할당해서 배열의 형태로 받을수 있다.

*참조 <- 기본 으로 되는것을 : 빡싱이라고하고

 기본 <- 참조 으로 되는것을 : 언빡싱이라고 한다.

*기본타입과 관련된 api를 확인해보는것도 중요하다 예를 들면 equals,floor 등을 확인하자


Math class(모든게 static이 붙는다)

math 생성자는 rivate화되어있다.

floor , random 등 wrapper와 마찬가지로 api 등 찾아보자.


String class 는 활용도가 높으므로 꼭 찾아보자


Files and input/output

input/output 의 개념은 게시글등 많은 프로그램에 적용된다.

input,output을 쉽게 설명하자면

input은 메모리에 들어가는것이고

output은 메모리에서 나오는것이다.

input의 예로는 게시글을 쓸때에도 사람이 입력한 데이터가 input 되어 그사람 메모리로 들어가게 되고 그 메모리에 있는것이 output 되서 나와서 랜선을 타고 input을 통해서 메모리로 들어와 output을 통해서 파일화해서 저장되는 방식에도 적용이 된다. 

이클립스 java 를 통해 확인해본다면 files 을 예로 들어보겠다.

이런식으로 java 파일을 만들어 줍니다.

여기서 7번줄은 파일을 안으로 가지고 올때 사용하고 8번줄은 파일을 밖으로 내보내는것이다.

while 문을 통해서 int 타입으로 선언된 c 안에 in.read를 통해서 -1이 아니면 계속 c담게끔 만들어줍니다

그리고 char로 형변환해서 c 의 값을 계속 출력하게 되면 input에서 파일의 내용을 가지고와 담은 내용이 콘솔창에 출력되게 된다 그후 out.write를 통해서 다시 c의 값을 output을 통해서 out안에 c의 내용을 담아 파일의 형태로 다시 밖으로 내보낼수도있는것이다 즉 12번과16,17번을 통해서 txt 파일로 된 파일의 내용을 메모리로 가지고 오고 콘솔차에 출력하고 13번과 16,18번문을 통해서 txt파일로 메모리의 데이터를 txt파일로 파일화도 할수 있습니다.


이걸통해서 미리 txt 파일 안에 미리 입력되어있던 데이터(id=jjdev)를 가지고 와서 콘솔창에 입력한 값과 비교하여 콘솔창에 로그인성공과 로그인실패를 출력해보도록하겠다.

먼저 

이런식으로 

7번문에서 Scanner 타입으로 객체참조변수 s 를 선언하고 Scanner(System.in)의 생성자 를 통해 객체의 주소값을 s 안에 할당해줍니다 여기서 Scanner 는 콘솔창에 입력할수 있게끔 만들어주는데 그 뒤에 System.in 은 대표적인 in 기구인 키보드로 입력을 하겠다는 소리이다

그후 9번에서 String 타입으로 inputid를 선언하고 그안에 s 주소값안에 있는 nextLine 즉

쉽게 설명하자면 키보드로 입력하고 nextLine 엔터키를 누를때까지 란소리인것이다

그후 10번에서 파일의 데이터를 받을 곳을 만들어놓고

try 문안에 12번문을 통해 txt 파일 안에 미리 입력되어있던 데이터(id=jjdev)를 가지고 와서 in안에 담아둡니다. 그후 while문을 통해 마찬가지로 i 안에 in에 read를 통해 -1 값이 나올때까지 데이터를 읽은다음

while문안에 str += (char)i 를 통해서 String 타입의 str안에 in안에 값을 읽어들이면서 형변환하고 i의 자리의 데이터들을 str안에 순차적으로 넣어줍니다.

그후 18번 라인에서 str 안에 lastIndexOf 를통해서 =의 자리수를 구해줍니다

그후 String 타입으로 systemid를 선언하고 그안에 str안에 substring(문자열을 잘라줍니다) 을통해 txt 파일 안에 미리 입력되어있던 데이터(id=jjdev) 즉 id= 까지 잘라서 jjdev만 systemid변수안에 담아줍니다 그후 if 문을 통해서 입력한 inputid 값과 파일안에 담겨있던 데이터를 잘라내서 만든 systemId 의 값이 일치하면 로그인성공이라는 문이 콘솔창에 뜨게 뒤고 그렇지 않으면 else 문이 뜨게 됩니다.

그리고 finally 를 통해 in객체를 닫아 줘야 합니다.*infile 같은경우는 직접 close 해주지 않게 되면 메모리내에 계속 살아있게되므로 꼭 닫아 주어야합니다.

아래사진은 콘솔창에 입력할때의 사진이다.

이런식으로 키보드를 통해서 입력해주고 엔터키를 눌러주면된다.

'학원에서 배운것들 > TEA - P' 카테고리의 다른 글

2017-06-01-P  (0) 2017.06.01
2017-05-31-P  (0) 2017.05.31
2017-05-25-P  (0) 2017.05.25
2017-05-24-P  (0) 2017.05.24
2017-05-22-P  (0) 2017.05.22
Comments