일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 실행 예외
- 예외 처리
- 예외
- throws 키워드
- 개발자취업
- 일반 예외
- 로켓펀치 #취준컴퍼니 #취업 #일상 #취준생
- 코딩테스트준비
- 99클럽
- 예외클래스
- 다중 catch 블록
- try-catch-finally 블록
- 항해99
- til
- Today
- Total
innn
2022.06.29 본문
한글로 돼있어서 -19 -103 -115로 찍히게됨.
write 할 때 제일 조심해야할 건 flush() 를 꼭 해줘야 하는 것
0123 4는 다섯 번 돌았다는 것임.
다섯번 돌면서 write를 test.txt에 한 것임.
write에서 잊지 말야할 건 문자가 2바이트 라는 것
버퍼라는 건 임시적인 메모리
캐릭터 어레이로 얘기 안하고 캐릭터 버퍼라고함 (현업에선)
버퍼라는 건 n개의 데이터를 집어넣는 거니까 당연히 어레이겠죠?
버퍼라는 단어를 더 많이 씀. 그래서
전체 내용을 바이트 배열로 받아 String 객체 생성 후 읽기
백엔드 엔지니어는 웹 화면에서 유저의 데이터를 받기때문에 키보드로 받을 일은 없다.
sysout은 연습하려고 하는 거지 쓰느 게 아님.
나중에 배우는 로거를 씀.
그거 쓰고 데이터 갖고온 거 화면에 html로 뿌려줌
시스템 콘솔을 쓸일은 1도 없다
이런건 어디서? 공장 자동화 쪽에 제조업 쪽에 쓴다.
File file = new file(~~)
이건 객체를 생성해도 파일이나 폴더가 생성되는 것은 아니다.
이 파일이나 폴더를 사용할 준비를 한 것이다.
mkdir = make directory 라는 뜻
통상적으로 append 할 일은 되게 많아도 덮어쓰기 할 일은 별로 없음
소켓 프로그래밍 = 네트워크 프로그래밍, 그럼 네트워크 프로그래밍이란?
내 pc와 다른 pc와 연결해서 다른 컴퓨터로 보내주는 프로그래밍
역할을 가지고 설정할 경우 루프가 생길 수 있으므로 제약을 걸어줘야 한다.
일반화 관계는 is a kind of 관계라고 한다.
부모 클래스라는 말을 쓰기도 하고 원서에는 수퍼 클래스라고 함.
수퍼 클래스가 있고 밑에 서브 클래스가 있음.
aggergation 전체를 나타내는 객체와 부분을 나타내는 객체와 전체(컴퓨터) 부분(모니터)
얘네들 간의 라이프 타임(살아있는 시간)이 독립적이냐 아니냐에 따라서 aggregation이냐 composition이냐가 달려있음.
아무때나 뉴 하면 안된다.
독립적일때 해야할 건지, 종속적일 때 할건지 생각하고 뉴 해야함.
라이프 타임이 종속적이면 당연히 부분 객체가 사라져야함.
집약관계와 합성관계를 구분하려면 life time 의존성을 살펴봐야함.
컴퓨터 = 전체를 나타내는 객체
부분은 mainboard, cpu, memory, powersupply
이게 왜 종속적?
컴퓨터가 생성이 되야만 하니까 종속적인 거임.
연관관계는 오래 사용
의존관계는 일시적 사용
한 클래스에서 다른 클래스를 사용하는데 클래스의 속성에서 참조로 사용하는 경우, 연산의 인자로 참조하는 경우, 메소드의 지역 개체로 참조하는 경우
사람과 자동차의 관계는 연관관계
그래서 person이 car를 사용 = 오래 사용
- own 가 되어있으니 private
연관관계 = 오랜시간 같이 사용하는 관계
의존관계 = 짧은시간 동안 의존하는 관계
메소드로 펑션으로 처리할 수 있는 것이 머리속에 잡히게 되면 클래스 설계를 잘함
메소드를 잘 못쓰면 파라메타, 리턴 쪽은 안됨.
메소드를 못하는게 문제임
프로그램 짜세요 하면 메소드 부분에 포커싱을 맞춰라 ..
can do this, must로 해석되는 거
가령 리모콘의 책임은 가전기기를 키거나 끄거나......
요런 생각을 자꾸 해버릇 ㅎㅐ야함.
밑에서 위로 올린다는 느낌을 자꾸 가져야함
얘네들 위에서 일반화로 풀건지 인터페이스로 풀건지 고민을 해야함......
주문 엔트리까지 다 지워지려면 종속관계여야한다.
지불을 신카 현금 체카 다 클래스로 따로 둘 생각이 중요함
인터페이스 얘기할때는 <<>> 꺾쇄 두개쓰는 걸 인터페이스다 (클래스 다이어그램에서는)
이런 개체가 소유한 특성의 이름으로 하나의 집합이 이뤄지는 게 추상화 클래스.
추상화 한다는 것은 여러 개체
엔터티 entity라는 건 하나의 개념
하나하나하나나를 개체라고 함.
엔터티라는 말은 또 데이터베이스에서 씀
ERD Entity Relationship Diagram
추상화 한다는 말을 다시 생각해보면
우리가 구현하고자 하는 어떤 영역에서 속성들 메소드 필드 어떻게 추출해낼 것이냐 그거임.
그런 것이 n개가 있는 친구들을 모으는 것.
Car c를 아우디 벤츠 등 어떤 자동차로 초기화하냐에 따라서
달라기기 때문에 코드 변경할 일이 없는것.
다른 자동차가 추가되도 그냥 그 객체를 Car c로 집어넣으면 되니까 엔진오일 교체라는 행위를 묶어서 하나로 메소드로 만든 것이다.
changOil(car c) 와 changOil() 은 매개변수가 다르기 때문에 다른 메소드다.
changOil()이 매개변수가 없는거라 오버로딩되서 둘이 다른 메소드임.
void engineoilChange(Car car) {
//엔진오일을 교환하는 과정을 기술
}