SW Academy

[CNU SW Academy] 4일차(22.12.06.)

narlo 2022. 12. 6. 11:52

객체지향 프로그래밍 특강 - 이성호교수님

프로그램은 일종의 명령서

사람이 명령서를 작성하는 과정이 프로그래밍이다.

 

사람은 자연어를 사용, 컴퓨터는 기계어를 사용

-> 사람이 컴퓨터의 언어로 명령한다.

 

번역

고수준 언어로 작성된 프로그램이 기계어 프로그램으로 번역

기계어로 번역된 프로그램을 목적코드라고 한다.

 

컴파일러 : 프로그램을 번역하는 프로그램

인터프리터 : 해석을 수행하는 주체, 프로그램을 컴퓨터 대신 해석하는 프로그램

 

 프로그래밍은 구문구조와 의미로 구성

 

명령형 언어 : 프로그램의 상태를 변화시키는 서술을 순차적으로 수행하여 명령을 수행

절차지형 언어 : 서술의 연속으로 구성되는 절차를 정의하고 이를 통해 명령을 수행

함수형 언어 : 입력과 출력의 매핑인 함수의 조합과 적용으로 프로그램을 구성

객체지향 언어 : 상태와 행동을 갖는 객체들의 관계로 프로그램을 구성

 

Java Programming Language

자바는 대표적인 객체지향 프로그래밍 언어

Java는 컴파일러를 통해 Java bytecode로 번역, 이를 Java 가상기계(JVM)에 의해 해석, 실행

 

Manifest 파일을 이용하여 실행 가능한 jar 파일 만들기


객체지향 프로그래밍 특강 2 - 이성호교수님

객체 = Object, 실생활에서 흔히 볼 수 있는 주변의 모든 것

객체지향

프로그램을 행동과 상태로 구성되는 객체들 사이의 관계로 구성

 

객체지향 실습

객체지향 개념

Class(클래스), Object(객체), Abstraction(추상화), Encapsulation(캡슐화), Inheritance(상속), Polymorphism(다형성)

추상화 - 객체 사용가 무관한 세부 구현을 감춤

ex) 이거 어떻게 동작하는거야 -> 알 바 아님

캡슐화 - 객체의 내부 상태를 외부로부터 감춤

상속 - 기존 클래스로부터 새로운 클래스를 파생

다형성 - 다양한 형태나 의미를 가질 수 있는 특성

 

객체지향 언어의 장점

- 코드의 재사용성이 높음

- 코드의 관리가 쉬움

- 신뢰성 높은 프로그래밍이 가능

 

변수 종류

- 인스턴스 변수 : 객체의 상태를 구성

- 스태틱 변수 : 클래스에 귀속되어 해당 클래스의 모든 객체가 공유하는 변수

- 로컬 변수 : 블록 내에서 정의되며, 블록 내에서만 접근 가능한 변수

 

메소드 : 객체의 행동을 나타내는 함수

메소드 종류

- 인스턴스 메소드 : 객체의 행동을 정의한 함수

   참조변수.인스턴스메소드명 으로 접근

   수신자 객체가 this 변수로 전달되어, 객체의 상태 변화가능 

- 스태틱 메소드 : 클래스에 귀속된 행동 

   클래스이름.스태틱메소드명 으로 접근

   수신자 객체가 없으므로, 객체의 상태 변화 불가

   statici 변수만 접근가능

 


프로그래머스 - 프론트엔드 미니 데브코스

쿠키와 세션, 웹 스토리지

HTTP 통신

기본적으로상태가 존재하지 않음, 서버는 어떤 브라우저에서 요청이 온 것인지 알 수 없다.  

헤더에 쿠키를 담으면 서버가 쿠키를 읽어 어디서 온 것인지 알 수 있다.

 

Cookie

프론트엔드에서 저장하고 관리하는 데이터, 브라우저를 닫아도 데이터를 유지 가능

각 상태에 수명을 정해줄 수 있음

Set-Cookie:키=값; 옵션

 

서버-클라이언트 간 인증은 별도 토큰을 사용

쿠키는 클라이언트 자체적인 지속적인 데이터 관리 용도로 많이 사용

 

 웹 스토리지

- localStorage

반영구적 데이터 저장, 브라우저를 종료해도 데이터가 계속 남아있다.

- sessionStorage

브라우저를 닫는 순간 사라진다. 새 창, 새 탭 모두 개별적으로 데이터 관리

 

HTML과 CSS

HTML(Hyper Text Markup Language)

CSS(Cascading Style Sheet)

 

HTML은 구조와 의미 담당

CSS는 문서의 표현 담당

 

HTML의 태그마다 기본 스타일이 존재

Reset CSS 이용하면 모든 스타일을 제거할 수 있음

 

브라우저마다 기본 스타일이 다르다.

Normalize CSS를 이용하면 브라우저 간 스타일을 통일해 줄 수 있음

 

CSS는

Selector {

   property: value;

}

형태로 이루어짐


코딩테스트 - 뒤집어도 같은 수

 

문제 : 뒤집어도 같은 수

n = int(input())

result = 0
if n == 1:
    result = 2
else:
    result = 4 * (5**(n//2-1))
    if n % 2 != 0:
        result *= 3
        
print(result)

규칙을 구해 풀었다.

'SW Academy' 카테고리의 다른 글

[CNU SW Academy] 6일차(22.12.08.)  (0) 2022.12.08
[CNU SW Academy] 5일차(22.12.07.)  (0) 2022.12.07
[CNU SW Academy] 3일차(22.12.05.)  (1) 2022.12.05
[CNU SW Academy] 2일차(22.12.02.)  (0) 2022.12.02
[CNU SW Academy] 1일차(22.12.01.)  (2) 2022.12.01