공부/오늘 배운것

22.11.02.Wed - 배움에 끝이 없다. 그러니 그 과정을 즐길 수 밖에.

Doil98 2022. 11. 2. 17:53

오늘의 요약 = 배움에 끝이 없다. 그러니 그 과정을 즐길 수 밖에.

오전 :

INDEX

  • 자바 동작 원리
  • cpr : 소 잃고 외양간 고치지 말자.
  • 접근 한정자 (제한)(공유)
  • Class 한정자(제한)
  • Question

동작 원리

Assemble 까지만 , binary code.

java는 번역 과 인터프리트 2개로 나눴다.
바이너리코드는 환경별로 동작이 다르기에,
어느 환경에서든 돌아갈 수 있게, 컴파일을 한다.

jre
자바 가상머신. java runtime environment.
컴퓨터에 jre만 있다면, 어느 환경에서든 동작한다.

jdk 설치시 자동으로 설치.

이름

클래스 이름 과 파일 이름이 같아야한다.

하나의 파일에 하나의 클래스를 하자.

일회성 객체

많은 코딩 라인이 있다면 메모리상에서 언제 사라질 지 알 수가 없다.

예)

new doil().dataPrn();

접근 한정자(제한)(공유)

  • Public
  • Protected
  • Package = Friendly = Default
  • Private

- Public

어디에서든지 누구나 사용할 수 있다.

- Protected

같은 패키지에서는 누구나, 다른 패키지에서는 상속을 통해서 사용.

- Package = Friendly = Default

같은 패키지에서만 사용할 수 있고, 변경할 수 있다.

아무것도 적지 않으면 제한 조건이 걸린다.

- Private

같은 클래스 안에서만 사용할 수 있다. 상속되지 않는다.

외부에서 사용할 수 없도록 ( Data Hiding )

VO class 만들때 사용.

왜 만들었냐?

권한이 있는 사람만 접근하기 위한 목적으로 만들었다.

필드는 숨겼지만 메소드 호출을 제대로 하는 사람에게 데이터를 준다.

호출하는 방법이 정상이면 제대로 반환.
비정상적일때는 Null을 반환

public class SampleClass{
     private String iName = "이름";

     public String getiName(int grant){
          if( grant != 1) return null;
          return iName
          // 조기 리턴문을 사용하면 빅데이터를 처리할때 속도가 줄어든다.  
          // 컴퓨터 처리 방식을 이해하면.
     }
}

Class 제한자

오직 두가지 중의 하나의 제한자를 갖는다.
-> Public , Package.

필드 와 메서드 제한자

클래스의 멤버인 필드와 메서드는
모두 사용가능하다. 단 한개만.

Question

  1. Method Return은 언제 쓰이나?
  2. 접근제한자 / Protected

점심 : 야무지게 먹어야징

오후 :

INDEX

  • 프로그램 짜는 순서도
    1. 폴더를 만든다.
    2. 클래스명 만든다
    3. 필요한 자료가 담길 변수를 필드로 지정한다.
    4. 동작처리에 필요한 메서드를 정의한다.
  • 워크스테이션을 최적화 해라
  • 설계 과정
  • 코드를 작성할때는
  • 높은 진입장벽, 낮은 업무강도
  • 생성자 메서드
  • 기본타입 복습

성적프로그램

순서도

  1. 폴더를 만든다 (Package)

  2. 클래스명 지정
    -> SungjuckProc

      public class SungjubProc {
           //프로그램의 시작
    
      }//프로그램의 끝
  3. 필요한 자료가 담긴 변수를 필드로 지정한다.

    Public String iname;
    Public int kor;
    Public int eng;
    Public int mat;
    Public int total;
    Public int average;
  4. 성적처리에 필요한 메서드를 정의한다.

    • total() : 총점을 계산 저장.
      public void totalSum(){
           total = kor + eng + mat ;
      }
    • average() : 평균을 계산하여 저장.
      public void averageCom(){
           average = total / 3.0 ;
      }
    • Print() : 모든 자료를 출력한다.
      public void sungjukDataPrint(){
           System.out.println("이름 : " + iname);
           System.out.println("국어 : " + kor);
           System.out.println("영어 : " + eng);
           System.out.println("수학 : " + mat);
           System.out.println("총점 : " + total);
           System.out.println("평균 : " + average);
      }// print method end

워크스테이션을 최적화 해라.

작업하는 효율과 성능, 그리고 집중을 위해


설계 과정

  1. 설계 (제일 중요하면서 오래 걸림)
  2. 인력을 구한다. (하청 : 아래 하 , 청할 청)

코드를 작성할때는

내가 생각한 논리적 구조를 말로 적을 줄 알아야 한다.

높은 진입장벽, 낮은 업무강도.

공무원 커트라인은 높은데, 업무는 서류때기.
개발자 커트라인 높은데, 업무는 설계 명세서 그대로 코딩.

같은점
: 높은 진입장벽, 낮은 업무강도.

차이점
: 공무원 업무 강도가 그대로. 개발자는 년차가 지나갈 수로 요구하는 업무가 늘어남.

생성자 메서드

메서드인데 클래스 이름과 같고, 반환되

객체를 생성한다는 것은 필드 변수들을 만들고 , 자료로 각각의 필드들을 초기값으로 초기화 해준다.

기본타입 복습

  • 숫자
  • 논리
    java의 기본 타입으로는 크게 숫자 와 논리.

숫자는 실수 와 정수. 그 수들을 표현하기 위한 타입에 int , double, long 등이 있다.

논리는 참 과 거짓.


'공부 > 오늘 배운것' 카테고리의 다른 글

22.11.04.Fri - 불금 불타게  (0) 2022.11.04
22.11.03.Thu - 벽을 만나다.  (0) 2022.11.03
22.11.01.Tue - java 시작인데, 두통이..  (0) 2022.11.01
22.10.31.Mon - View 와 Sequenece  (0) 2022.10.31
22.10.27.Thu - 조졌다  (0) 2022.10.27