[1일 차] 소프트웨어 엔지니어링 (Ch01 ~ Ch02)

2025. 1. 20. 16:25·LG 유플러스 유레카/소프트웨어 엔지니어링


25/01/20 (월)

코로나 비대면 이후로 처음 온라인 강의라 좀 어색했지만 하루종일 앉아있다보니 금방 익숙해졌습니다.

강사님께서 비타민 토크 시간에 알고리즘 스터디를 추천한다고 말씀하셨습니다. (거의 필수인듯)

그 후 강사님이 나눠준 조별로 모여서 조장과 내일 발표할 사람을 정했습니다.

제가 둘다 한다고 해서 조장과 내일 발표 당첨 되었습니다.

발표는 

수업내용 5분 정도로 요약해야 합니다.

 

앞으로 수업한 내용을 간략히 포스팅 하려하는데 정보 전달글이 아니다보니 내용이 부실할수 있습니다.

만약 자세히 적더라도 그건 강사님께서 수업한 내용을 그대로 옮긴것이기 때문에 의미가 없겠죠?


 

1. JAVA 설치

1) JDK 다운로드

JDK를 설치하고 환경 변수 설정을 했습니다.

전 자바가 설치되어있어서 기다렸습니다.

2) IDE 다운로드

그 후 이클립스를 다운 받았습니다

이클립스 다운받으라고 하셨는데 이클립스 안쓰고 인텔리제이를 쓰기로 했습니다. (써도 된다고 하심)

조원분들도 대부분 인텔리제이 쓴다고 하시더라고요.

 

2. JAVA 기초

1) JAVA 언어의 기초

JVM의 역할을 설명해주셨습니다.버추얼 머신은 에스페란토라는 언어의 역할을 한다고 합니다.

에스페란토는 여러 나라의 언어를 에스페란토로 

 

2) JAVA 언어의 기초2

진짜 오랜만에 타블렛 꺼내서 필기하는데 글씨가 잘 안써집니다.

기본적인 클래스, 메소드를 만들고 Hello World까지 출력했습니다.

 

3. 변수와 타입

1) 변수와 타입

다 아는 내용이지만 다시 한번 개념 정리를 했습니다.

Primitive type과 Reference type의 차이를 기억하라고 하셨습니다.

Primitive : int, char 등

Reference : String 주소를 바로 참조하지 않고 HEAP공간에 주소가 저장된 것을 참조

 

2) 자동 타입 변환

        byte b1 = 10;
        int i1 = b1; // 큰 타임 int <- 작은 타입 byte (자동 형변환O)
        System.out.println(b1);
        System.out.println(i1);
//      byte b2= i1; // 작은 타입 byte <- 큰 타임 int (자동 형변환X)

        byte b2 = (byte) i1; // 작은 타입 byte <- 큰 타임 int (강제 형변환)
        System.out.println(b2); // 값 손실 위험

자동 타입 변환을 배웠습니다.

또한 byte, short 연산은 int 타입으로 자동 변환돼서 계산이 된다고 합니다.

 

3) 형 변환

1. 문자 -> 숫자
1) String to Int (방식 2가지)
 int i_num = Integer.parseInt(num);
 int i_num = Integer.valueOf(num);

2) String to Float
 float f_num = Float.valueOf(num);

2. 숫자 -> 문자
1) Int to String
 String s_num = String.valueOf(num);
 String s_num = Integer.toString(num);

2) Float to String
 String s_num = String.valueOf(f_num);
 String s_num = Float.toString(f_num);

3. 정수 <-> 실수
1) Int to Float
 int i_num = (int)f_num;
 
2) Float to Int
 float f_num = (float)i_num;

옛날에 네이버 블로그에 정리해놨던걸 또 배웁니다.

 

4) 변수 사용 범위

public class LocMem {
    // 클래스로 표현하려는 객체별로 변수(상태)와 메소드(동작)를 선언

    // Member variable
    // 객체가 존재하는 한 지속 (객체 가비지 되면 사라짐)
    int num;
    String name;

    // 메소드
    // 파라미터와 메소드 내에서 선언된 변수 모두 메소드가 호출될 때 만들어 지고, 종료될 때 사라진다
    public int sum(int n1, int n2) {
        int n3 = 3;
        return n1 + n2 + n3;
    }

로컬 변수 같은 개념에 대해서 배웠습니다

 

3. 마무리

1) Workshop

수업이 끝난 뒤에는 조별로 워크샵을 진행합니다.

 

Q1. 한 조원분께서 왜 1바이트는 -128 ~ 127의 범위를 가질까? 라는 의문을 던져주셨습니다.

 

A.1 1바이트는 8비트인데 8비트는 0과 1을 가집니다.

2^8 = 256이지만 1비트는 양수, 음수 판별 부호로 빠져서 2^7 = 128이라 그런것 같다는 결과가 나왔습니다.


Q2. 보조강사님이 short와 char는 같은 2byte인데 자동 형변환에서 오류가 생기는지 질문은 던져주고 가셨습니다.

 

A2. 앞의 경우와 마찬가지로 short는 부호를 위한 1비트를 사용합니다. 그래서 short는 -32,768 ~ 32,767 범위를 가지고, char은 0~65,535의 범위(유니코드 문자를 표한하기 위해 설계)를 가집니다. 저장하는 데이터의 범위와 표현 방식이 다르기 때문에 오류가 생깁니다.

 

2) 오늘의 필기

'LG 유플러스 유레카 > 소프트웨어 엔지니어링' 카테고리의 다른 글

[4일 차] 소프트웨어 엔지니어링 (Ch06 ~ Ch07)  (3) 2025.01.23
[3일 차] 소프트웨어 엔지니어링 (Ch05 ~ Ch06)  (1) 2025.01.22
[2일 차] 소프트웨어 엔지니어링 (Ch03 ~ Ch04)  (0) 2025.01.21
'LG 유플러스 유레카/소프트웨어 엔지니어링' 카테고리의 다른 글
  • [5일 차] 소프트웨어 엔지니어링 (Ch07 ~ Ch08)
  • [4일 차] 소프트웨어 엔지니어링 (Ch06 ~ Ch07)
  • [3일 차] 소프트웨어 엔지니어링 (Ch05 ~ Ch06)
  • [2일 차] 소프트웨어 엔지니어링 (Ch03 ~ Ch04)
문태신
문태신
꾸준함은 모든 것을 이긴다.
  • 문태신
    별 될 시간
    문태신

  • 전체
    오늘
    어제
    • 전체 글 (137) N
      • LG 유플러스 유레카 (123) N
        • 강의 정리 (1)
        • 소프트웨어 엔지니어링 (8)
        • 알고리즘 (13)
        • 데이터베이스 활용 (5)
        • 미니 프로젝트 1 (3)
        • 데이터베이스 심화 (5)
        • 프론트엔드 이해 (3)
        • 깃허브 특강 (2)
        • 취업 특강 (2)
        • 스프링 프레임워크 (17)
        • REST API (10)
        • 미니 프로젝트 2 (7)
        • 프로젝트 기획 분석 설계 (5)
        • 애자일 방법론 (5)
        • 종합 프로젝트 (15)
        • 클라우드 특강 (3)
        • 최종 융합 프로젝트 (18) N
        • 회고 (1)
      • 내 맘대로 기술 공부 (1)
      • 알고리즘 공부 (5)
      • 자바 공부 (3)
      • 자격증 (2)
      • 디자인 (2)
      • 감상문 (1)
        • 책 (0)
        • 영화 (1)
  • 인기 글

  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
문태신
[1일 차] 소프트웨어 엔지니어링 (Ch01 ~ Ch02)
상단으로

티스토리툴바