교육 4일차

권재현·2021년 3월 18일
0

교육

목록 보기
3/49
post-thumbnail

3일차는 문제만 풀어서 따로 남길게 없었다.
문제풀이에 다 올리면서 다시 풀어볼 예정이다 주말 ㅋㅋ주말에 퐈이어!!!

3일 차 문제 풀이 팁!!
1.누적이 나오면 증감연산을 써야하는 판단
그리고 누적대상 만들어야함=>담을 변수 추가,
규칙을 찾아보자
2. 반복문 풀 때 쓰고있는 변수를 쓰고 하니씩 써보기 , 디버깅 쓰지 않기 !! 처음에는 생각하기
3. 소인수분해
2부터 시작해서 안나눠 질때까지 나눔
근본값은 결과값으로 변한다.
나눌 값과 내가 같은면 끝!!
코딩적으로 생각하면 이미 뒤에 배수는 나오기전에 다 처리가 되기때문에 결과적으로 소수만 남게됨.

클래스- 형태를 나타냄,설계도

클래스 선언하는 양식
접근권한 class 클래스명 {
            내용
       }

public class Test09s {
//어디서든 접근가능 클래스다 !!
}

접근권한

  • Public- 어디서든 접근가능하다는 뜻이다.
    * Class에 접근권한 public

파일 1개 - 클래스 n 개 가능하지만, 복잡해 파일 1하나당 클래스 1개다

클래스 명 권장사항: 대문자로 시작

클래스의 내용으로 가능한 것

  • 클래스,변수,메소드,생성자.
  • 클래스에서 일반적인 문법이 못온다.
  • 실습 시 main 메소드 안에서 문법을 사용해서 가능했던거다.

클래스 사용 = 객체를 만든다.

  • 객체란 실제 동작가능한 상태가 되는 것.

객체 생성 양식

  • 클래스명(형태) 변수명 = new 생성자( ) ;(동작내용)

New

  • 객체 생성 을 하겠다 선언하면서 객체를 생성(호출가능 주소를 갖고있음),

  • 변수명: 객체의 주소를 담은 것(직접 담기에 크기가 커 주소만 갖고있다)

  • 동작 시에 변수명이 주소를 토대로 객체에게 a를 사용할게 연락하는 것!

생성자

  • 객체 생성 시 1회만 실행되는 기능
  • 생성자는 객체 생성시 자동실행되는 옵션 같은것
  • 생성자는 클래스명과 동일하게

인자

해당 실행 시 받을 것이 생길 때 그 값을 지정한 것

생성자 사용 시 주의사항

  • 기본적으로 기본 생성자(인자x)는 생략이 가능하다.
    • 단, 추가 생성자(인자 0)가 존재할 경우
      기본 생성자를 사용하려면 반드시 기본생성자 를 선언해야함.

객체생성과 생성자 코드 예시

	Test09s ts = new Test09s(); //객체생성
	Test09s ts2 = new Test09s(); //객체생성
  
  //생성자 코드 예시
  //기본형
   public Test09s () {
		 System.out.println("기본생성자 실행중.");
	 }
//추가 생성자 (인자 포함)	
	 public Test09s(String str) {//주는 쪽은  타입을 신경써야함
		 System.out.println("추가 생성자 : "+ str);
	 }
ts.a = 7;
		
ts2 = ts; //같은 주소값을 갖게된다.
System.out.println(ts.a); // test09s에 있는 a를 불러서 사용하겠습니다.
System.out.println(ts2.a); 
		
ts.a();
System.out.println(ts.b("보낸 값"));  //리턴 값이 호출된 ts.b("보낸 값") 으로 오는 것

객체 주소

ts2 = ts ; 동일한주소를 갖게됨
한번 끊어진 주소는 재사용 불가 주소를 모른다.
그리고 버려진 객체는 garbage Collector 알아서 청소

Method - 기능, 동작 하는 것.

예시

 public void a() {
		 System.out.println("a 메소드 실행"); //출력기능만 있다.
	 }
	 
	 public String b(String str) {
		 return "변경된 내용 : " +str;  
	 }
     
  public void plus(int a, int b) {
		 System.out.println("더하기 : "+(a+b));
	 }
	 
public int plus2(int a, int b) {
		
		 return a+ b;
	 }   
 //실제 사용 예시
	ts.plus(3, 7);
    
    System.out.println(ts.plus2(5, 2));

반환타입 : 어떤 것이든 올 수있다. 단, 존재하지 않을 경우 void

  • 값의 세가지 형태
    • 존재하지 않는다(공간도 없다.) : void라고 명칭
    • 존재하나 비어있다.(공간만 있다.) : null(값은 값이다.)
    • 값이 있는 경우

4일차 후기

오늘은 클래스,생성자,메소드에 대해 배웠다. 굉장히 중요하다는데,개념이 아리송하게 잡혀있다. 꾸준히 공부해가면서 차분히 정리해야겠다.
특히 그놈의 객체가 뭔지 ㅋㅋㅋ문제 풀러가자

profile
호텔리어 출신 비전공자

0개의 댓글